Find answers for the most frequently asked questions
Is there a method similar to Response.Redirect that will send variables to the destination page other than using a query string or the post method
Server.Transfer preserves the current page context, so that in the target page you can extract values and such. However, it can have side effects; because Server.Transfer doesnt’ go through the browser, the browser doesn’t update its history and if the user clicks Back, they go to the page previous to the source page.
Another way to pass values is to use something like a LinkButton. It posts back to the source page, where you can get the values you need, put them in Session, and then use Response.Redirect to transfer to the target page. (This does bounce off the browser.) In the target page you can read the Session values as required.
Where can I get the details on Migration of existing projects using various technologies to ASP.NET
Microsoft has designed Migration Assistants to help us convert existing pages and applications to ASP.NET. It does not make the conversion process completely automatic, but it will speed up project by automating some of the steps required for migration.
Are there resources online with tips on ASP to ASP.Net conversions?
Microsoft has designed The ASP to ASP.NET Migration Assistant help us convert ASP pages and applications to ASP.NET. It does not make the conversion process completely automatic, but it will speed up project by automating some of the steps required for migration.
The following Code Migration Assistants are discussed in the link below.
Why do i get error message ‘Could not load type’ whenever I browse to my ASP.NET web site
Your code-behind files for either your .aspx or the global.aspx page have not been complied. Use Visual Studio .NET’s ‘Build | Build Solution’ menu, or run the command line compiler.
How do I publish my ASP.NET application to my ISP’s web server?
Your ISP must first create an IIS application and apply the Front Page Server Extensions to it. Then in Visual Studio .NET, select the ‘Project | Copy Project’ menu. Then enter the URL and select the FrontPage web access method. The ‘Copy Project’ feature copies all of the necessary files to your ISP’s machine for your ASP.NET application to run.
How to Set Focus to Web Form Controls By Using Client-Side Script
<scriptlanguage='javascript'>functionSetFocus()
{
// W3C approved DOM code that will work in all modern browsers if (document.getElementById)
document.getElementById(’txt2’).focus();
else// To support older versions of IE:if (document.all)
document.all('txt2').focus();
returnfalse;
}
</script>
<bodyMS_POSITIONING='GridLayout'onload='SetFocus()'><formid='Form1'method='post'runat='server'>
Enter 1:
<asp:TextBoxID='txt1'Runat='server'Width='50' /><br>
Enter 2:
<asp:TextBoxID='txt2'Runat='server'Width='50' /><br><asp:Buttonid='Button1'runat='server'Text='Button1'></asp:Button></form></body>
Here is an article from ftp online that talks about security, authentication, versioning and script mappings when dealing with one or more versions of ASP.Net in a server: Manage Web Sites With ASP.NET
Note:Before changing any templates it’s a good idea to make backup copies of them
Or rather than above approach you can change the behavior for new files on a per project basis in Visual Studio by:
Right clicking on the project name (Ex: ‘WebApplication1)’ in Solution Explorer, and select ‘Properties’.
From project properties window, under Common Properties>Designer Defaults>Page Layout change ‘Grid’ to ‘Flow’.
What is the difference between Response.Redirect() and Server.Transfer().
Response.Redirect
Transfers the page control to the other page, in other words it sends the request to the other page.
Causes the client to navigate to the page you are redirecting to. In http terms it sends a 302 response to the client, and the client goes where it’s told.
Server.Transfer
Only transfers the execution to another page and during this you will see the URL of the old page since only execution is transferred to new page and not control.
Occurs entirely on the server, no action is needed by the client
Sometimes for performance reasons, the server method is more desirable
My ASP code gives an error ‘Compiler Error Message: BC30289: Statement cannot appear within a method body. End of method assumed’ when changed to .aspx
Use a <script runat=server> block instead of the <% %> syntax to define Subs.
Make sure you have proper events associated with the code and have start and end of procedure or function written properly.
Why do I get the error message ‘System.InvalidOperationException: It is invalid to show a modal dialog or form when the application is not running in UserInteractive mode. Specify the ServiceNotification or DefaultDesktopOnly style to display a ….’
You can’t use MsgBox or MessageBox.Show in ASP.NET WebForm.
You may use:
Yes. Place the DLL containing the type in the application root’s bin directory and ASP.NET will automatically load the DLL when the type is referenced. This is also what happens when you add a custom control from the toolbox to your web form.
Dim myconnection As SqlConnection
Dim mycmd As SqlCommand
Dim strSql AsStringDim myReader As SqlDataReader
PrivateSub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
myconnection = New SqlConnection('Server=localhost;uid=sa;password=;database=northwind;')
strSql = 'Select * from usertbl where username=' & '’' & txtUserName.Text & '’' & ' and userpassword=' & '’' & txtPassword.Text & '’'
mycmd = New SqlCommand(strSql, myconnection)
myconnection.Open()
myReader = mycmd.ExecuteReader(CommandBehavior.CloseConnection)
If myReader.Read() Then
Response.Write('Welcome')Else
Response.Write('Access Denied')EndIfEndSub
What is the difference between Server.Transfer and Server.Execute
Server.Transfer is used to End the current weform and begin executing a new webform. This method works only when navigating to a Web Forms page (.aspx)
Server.Execute is used to begin executing a new webform while still displaying the current web form. The contents of both forms are combined. This method works only when navigating to a webform page(.aspx)
Why is default.aspx page not opened if i specify http://localhost. I am able to view this page if i hardcode it as http://localhost/default.aspx
If some other default page comes higher in the list, adjust the default.aspx to be the number one entry inside the IIS configuration. If you have multiple websites inside IIS, make sure the configuration is applied on the right website (or on all websites by applying the configuration on the server-level using the properties dialog, configure WWW service).
What is the meaning of validateRequest=true in .net framework1.1?
The value of validateRequest is set to ’true’ by default, which means that the framework will automatically deny submission of the ’<’ and ’>’ characters.
The <%# %> is used for databinding where as <%= %> is used to output the result of an expression. The expression inside <%# %> will be executed only when you call the page’s or control’s DataBind method. The expression inside <%= %> will be executed and displayed as and when it appears in the page.
Is it possible to write code in many languages in one ASP.NET project
You cannot write the code-behind files in different languages in the same project, but you can write the aspx pages and ascx controls in different languages.
A URL is the address of some resource on the Web, which means that normally you type the address into a browser and you get something back. There are other type of resources than Web pages, but that’s the easiest conceptually. The browser goes out somewhere on the Internet and accesses something.
A URI is just a unique string that uniquely identifies something, commonly a namespace. Sometimes they look like a URL that you could type into the address bar of your Web browser, but it doesn’t have to point to any physical resource on the Web. It is just a unique set of characters, that, in fact, don’t even have to be unique.
URI is the more generic term, and a URL is a particular type of URI in that a URL has to uniquely identify some resource on the Web.
Dim myString AsString = 'syncFusion deVeloPer sUppOrt'’ Creates a TextInfo based on the 'en-US' culture.Dim TI As TextInfo = New CultureInfo('en-US', False).TextInfo
Response.Write(TI.ToTitleCase(myString))
C#
string myString = 'syncFusion deVeloPer sUppOrt';
// Creates a TextInfo based on the 'en-US' culture.
TextInfo TI = new CultureInfo('en-US',false).TextInfo;
Response.Write (TI.ToTitleCase( myString ));
The .resx resource file format consists of XML entries, which specify objects and strings inside XML tags. This is useful for localization.
For more details refer Resources in .resx files
Will the WebMatrix SqlDataSourceControl work with a MySQL connection
SqlDataSourceControl lets you connect and work with MS SQL DB, while AccessDataSourceControl do the same thing but for MS Access DB.
Therefore SqlDataSourceControl can’t help you in your MySql connectivity .
For Connectivity with MySql refer Accessing MySQL Database with ASP.NET
What is the difference between src and Code-Behind
Src attribute means you deploy the source code files and everything is compiled JIT (just-in-time) as needed.
Many people prefer this since they don’t have to manually worry about compiling and messing with dlls — it just works.
Of course, the source is now on the server, for anyone with access to the server — but not just anyone on the web.
CodeBehind attribute doesn’t really ‘do’ anything, its just a helper for VS.NET to associate the code file with the aspx file.
This is necessary since VS.NET automates the pre-compiling that is harder by hand, and therefore the Src attribute is also gone.
Now there is only a dll to deploy, no source, so it is certainly better protected, although its always decompilable even then.
How to catch the 404 error in my web application and provide more useful information?
In the global.asax Application_error Event write the following code
VB.NET
Dim ex As Exception = Server.GetLastError().GetBaseException()
IfTypeOf ex Is System.IO.FileNotFoundException Then’your code’Response.Redirect('err404.aspx')Else’your codeEndIf
C#
Exception ex = Server.GetLastError().GetBaseException();
if (ex.GetType() == typeof(System.IO.FileNotFoundException))
{
//your code
Response.Redirect ('err404.aspx');
}
else
{
//your code
}
In classic ASP, when a form is submitted the form values are cleared.
In some cases the form is submitted with huge information. In such cases if the server comes back with error, one has to re-enter correct information in the form. But submitting clears up all form values. This happens as the site does not maintain any state (ViewState).
In ASP .NET, when the form is submitted the form reappears in the browser with all form values. This is because ASP .NET maintains your ViewState.
ViewState is a state management technique built in ASP.NET. Its purpose is to keep the state of controls during subsequent postbacks by the same user.
The ViewState indicates the status of the page when submitted to the server. The status is defined through a hidden field placed on each page with a <form runat=’server’> control.
If you want to NOT maintain the ViewState, include the directive <%@ Page EnableViewState=’false’%> at the top of an .aspx page
If you do not want to maintain Viewstate for any control add the attribute EnableViewState=’false’ to any control.
For more details refer The ASP.NET View State
Why does my ASP.NET file have multiple <form> tag with runat=server?
This means that ASP.Net is not properly registered with IIS.
.Net framework provides an Administration utility that manages the installation and uninstallation of multiple versions of ASP.NET on a single machine. You can find the file in C:\WINNT\Microsoft.NET\Framework\v**\aspnet_regiis.exe
use the command: aspnet_regiis.exe -u ---> to uninstall current asp.net version.
use the command: aspnet_regiis.exe -i ---> to install current asp.net version.
For Windows Server 2003, you must use aspnet_regiis -i -enable
This is because of the ‘Web Service Extensions’ feature in IIS 6
(if you install VS.NET or the framework without IIS installed, and then go back in and install IIS afterwards, you have to re-register so that ASP.NET ’hooks’ into IIS properly.’
How to convert the datetime into a string for use in the SQL ‘ statement
<asp:labelid='Label2'runat='server'>Select a culture: </asp:label><asp:dropdownlistid='ddlCulture'runat='server'autopostback='True'></asp:dropdownlist><P></P><asp:labelid='Label3'runat='server'>DateTime in Selected Culture</asp:label><asp:textboxid='TextBox1'runat='server'></asp:textbox><p><asp:labelid='Label1'runat='server'></asp:label>
VB.NET
PrivateSub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
’Put user code to initialize the page hereIfNot Page.IsPostBack ThenDim cInfo As CultureInfo
ForEach cInfo In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
ddlCulture.Items.Add(cInfo.Name)
NextEndIfEndSubPrivateSub ddlCulture_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddlCulture.SelectedIndexChanged
’ Get a CultureInfo object based on culture selection in dropdownlistDim cInfo As CultureInfo = New CultureInfo(ddlCulture.SelectedItem.Text)
’ Get a CultureInfo object based on Invariant culture Dim cInfoNeutral As CultureInfo = New CultureInfo('')’ Display the datetime based on the formatting of the selected culture
TextBox1.Text = Convert.ToString(Now, cInfo.DateTimeFormat)
’ Create a DateTime variable to hold the Invariant timeDim dt As DateTime
dt = Convert.ToDateTime(TextBox1.Text, cInfo.DateTimeFormat)
’Convert the datetime into a string for use in the SQL statement
Label1.Text = '... WHERE ([Date] < ’' & _
Convert.ToString(dt, cInfoNeutral.DateTimeFormat) & '’)'EndSub
C#
privatevoidPage_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page hereif (!Page.IsPostBack )
{
foreach(CultureInfo cInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
ddlCulture.Items.Add(cInfo.Name);
}
}
}
privatevoidddlCulture_SelectedIndexChanged(object sender, System.EventArgs e)
{
// Get a CultureInfo object based on culture selection in dropdownlist
CultureInfo cInfo = new CultureInfo(ddlCulture.SelectedItem.Text);
// Get a CultureInfo object based on Invariant culture
CultureInfo cInfoNeutral = new CultureInfo('');
// Display the datetime based on the formatting of the selected culture
TextBox1.Text = Convert.ToString(DateTime.Now , cInfo.DateTimeFormat);
// Create a DateTime variable to hold the Invariant time
DateTime dt ;
dt = Convert.ToDateTime(TextBox1.Text, cInfo.DateTimeFormat);
//Convert the datetime into a string for use in the SQL statement
Label1.Text = '... WHERE ([Date] < ’' + Convert.ToString(dt, cInfoNeutral.DateTimeFormat) + '’)';
}
How can I specify the ‘upload a file’ input textbox in a form to be read only so that the user can click on the browse button and pick a file but they cannot type anything into the textbox next to the browse button.
Why can’t I put <%@ Page Language=’C ‘ %> where at the top of an ASPX file and write my server-side scripts in C ?
The parsers ASP.NET uses to extract code from ASPX files understand C#, Visual Basic.NET, and JScript.NET. You can write server-side scripts in any language supported by a .NET compiler.
When the User is prompted a File Download dialogbox, if the user selects ‘Save’ then the ‘Save as’ dialog box is displayed. Is there any way for me to retrieve the filename and directory path specified by the user on the File Download dialog box
Clients do not report information back about where the user selects to save the content, so there isn’t an easy way to do this. Instead, you would need to ask the user before using the content-disposition for a file path, and then you could specify the filename parameter for the content-disposition header. Still, the user is free to change that path when actually downloading.
Dim stringUri AsString = 'http://www.syncfusion.com/?id=1&auid=16'Dim weburi As Uri = New Uri(stringUri)
Dim query AsString = weburi.Query
Dim weburl AsString = stringUri.Substring(0, stringUri.Length - query.Length)
Response.Write(weburl)
Share with