Wednesday, February 23, 2011

Font size changing while loading alert window through Javascript in response.write()

Problem:
I am using javscript to open a alert window when a button is clicked.
Here is the code in cs file :
Response.Write("<script>alert('hai')</script>");

Interesting thing is with the click of button, the font size changed (increased) in the original asp.net page; refreshing the screen brings back the original font size.

Solution
The above problem is caused because the script is coming outside the html in the rendered html page.

.Net Frame work has provide a class to manage client side scripts

Try like this.
// Define the name and type of the client scripts on the page.
Type cstype = this.GetType();

// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(cstype, "name", "<script>alert('hai')</script>");
This code will help us to resolve our font size increase issue.


Happy Coding!!

Disable back using javascript in asp.net

After login we come to home page & after click on back button it should not move to login page
so we use following script to restrict it.

when we traverse through webpages its history is maintained. Don't forget to call setTimeout method
It works on Firefox , IE & Chrome  also
 <script type = "text/javascript" >
function disableback()
{
window.history.forward();
}
setTimeout("disableback()", 0);
</script>

Call above method on Body unload method on login page so when u move from login to home page after click on home's back button, we will be on same page that is on home page.
<body onunload="disableback()">
 now your back button problem will be solved......


Happy Coding!!

Tuesday, February 22, 2011

Focus particular textbox in page bydefault (like google) & on enter key press hit button from page(like google search button)

This are very easy things to do,

when we open any page and we want particular textbox contains cursor & after pressing enter button particular button gets clicked then do the following things.

In asp.net page contains a form tag, It contains defaultbutton & defaultfocus attributes set it as per your requirement

defaultbutton:= give your buttons name which u want to clicked
defaultfocus:= give control name for which you want focus after page load
<form id="form1" runat="server" defaultbutton="Button1" defaultfocus="TextBox1">
 Here  TextBox1 contains cursor & after press enter Button1's click event gets called.

Happy Coding !!

Encrypt & Decrypt Connection string in web.config


first import System.web.configuration namespace then add following code for encryption
for example on some button i have written following code for encryption
        string path=@"\Projectname";
        Configuration config = WebConfigurationManager.OpenWebConfiguration(path);
        ConfigurationSection appsetting = config.GetSection("connectionStrings");
        appsetting.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
        config.Save();

ProtectSection Method in  SectionInformation encrypts the connection string

Now lets see for how to decrypt, SectionInformation contains method UnprotectSection() for decryption
code as below
        string path = @"\Projectname";
        Configuration config = WebConfigurationManager.OpenWebConfiguration(path);
        ConfigurationSection appsetting = config.GetSection("connectionStrings");
        appsetting.SectionInformation.UnprotectSection();
        config.Save();

This Snippet will help to Encrpt & Decrypt  connection String

Happy Coding!!

Wednesday, February 9, 2011

Freeze the columns in Gridview

Sometimes you need a way in which you don't want end user to edit some columns of gridview. There is no direct way for this. But you can achieve this with the help of CSS functionality.

STEP 1: Add the Following CSS class to the .aspx file
<style type="CSS/Text">
td.freezecolumn{
text-align: left;
border-width:0;
position:relative;
cursor: default;
left:inherit;
}
</style>


STEP 2: Set the CSSClass property of the cells in the GridView RowDatabound event as shown below.

protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[1].CssClass = "freezecolumn";
}
This way you can freeze the column or you can say non-editable column in gridview.

Happy Coding!!

Tuesday, February 1, 2011

append values into querystring in asp.net

If you try to add "&" directly into string , it doesn't work
Ex: WebPage.aspx?Var1=DVal1&Var2=DVal2

if u want to create above querystring & u try to write statement as below
string url="WebPage.aspx?Var1=" + DVal1 + "&Var2=" + DVal2;
DVal1 & DVal2 are strings. It will work for simple cases but it won't work for few cases.
If DVal1 & DVal2 contains space in contents (DVal1="my value") It will show you
WebPage.aspx?Var1=my.
to make proper querystring you have to use a Server.UrlEncode

It replaces space with %20 and & with %26
string url="WebPage.aspx?Var1=" + Server.UrlEncode(DVal1) + "&Var2=" + Server.UrlEncode(DVal2);

Use of Server.UrlEncode avoids error and help us to append data to querystring.

Happy Coding!!