Professional Documents
Culture Documents
ASP.NET is a programming framework built on the common language runtime that can be used on a server to build
• What is ASP.NET
• ASP.NET Overview
2.2 Why does my ASP.NET file have multiple <form> tag with runat=server?
.Net framework provides an Administration utility that manages the installation and uninstallation of multiple
C:\WINNT\Microsoft.NET\Framework\v**\aspnet_regiis.exe
(if you install VS.NET or the framework without IIS installed, and then go back in and install IIS afterwards, you
VB.NET
Response.Write(System.Environment.Version.ToString() )
C#
Response.Write(System.Environment.Version.ToString() );
2.4 Is it possible to pass a querystring from an .asp page to aspx page?
Yes you can pass querystring from .asp to ASP.NET page .asp
<%response.redirect "webform1.aspx?id=11"%>
.aspx
VB.NET
C#
<%--<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 48px"
runat="server">Label</asp:Label>--%>
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.
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
2.7 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
VB.NET
System.DateTime.Now.ToShortDateString()
System.DateTime.Now.ToShortTimeString()
C#
System.DateTime.Now.ToShortDateString();
System.DateTime.Now.ToShortTimeString();
VB.NET
Response.Write (Request.UserHostAddress.ToString ())
C#
Call the Request.QueryStringmethod passing in the key. The method will return the parameter value associated
Request.QueryString("id")
C#
Request.QueryString["id"];
2.12 How to Set Focus to Web Form Controls By Using Client-Side Script?
<script language="javascript">
function SetFocus()
{
// 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();
return false;
}
</script>
For
• VB.NET
• C#
2.15 How to catch the 404 error in my web application and provide more
useful information?
VB.NET
C#
Exception ex = Server.GetLastError().GetBaseException();
if (ex.GetType() == typeof(System.IO.FileNotFoundException))
{
//your code
Response.Redirect ("err404.aspx");
}
else
{
//your code
}
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.
Refer to Passing Values Between Web Forms Pages for more information.
2.17 What are the differences between HTML versus Server Control?
Refer
You can't change it. The action attribute is owned by ASP.NET. Handle Events and Transfer.
For work around refer to Paul Wilson's Multiple Forms and Non-PostBack Forms - Solution
2.19 Is there any control that allows user to select a time from a clock - in
other words is there a clock control?
Peter Blum has developed some controls. Check out Peter's Date Package: TimeOfDayTextBox and DurationTextBox
Controls
VB.NET
Dim t1 As String = DateTime.Parse("3:30 PM").ToString("t")
Dim t2 As String = DateTime.Now.ToString("t")
If DateTime.Compare(DateTime.Parse(t1), DateTime.Parse(t2)) < 0 Then
Response.Write(t1.ToString() & " is < than " & t2.ToString())
Else
Response.Write(t1.ToString() & " is > than " & t2.ToString())
End If
C#
VB.NET
C#
ASP.Net actually has very solid internal garbage collection. So this is not an issue as it was in previous versions of
2.25 Are there resources online with tips on ASP to ASP.Net conversions?
Microsoft has deisnged 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
The following Code Migration Assistants are discussed in the link below.
Also refer:
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.
You can also FTP your files to your ISP web server. But you must know which files to upload. For more details refer
PRB: Remote ASP.NET Projects Require IIS on the Client Computer or FrontPage Server Extensions on the Server
Computer
2.27 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.
For more details refer PRB: "Could not load type" error message when you browse to .aspx page
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
No.
ASP pages can run in the same site as ASP.NET pages, but you can't mix in a page. Also ASP and ASP.NET won't
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
2.31 How can I get the value of input box with type hidden in code-behind?
You can set the runat= server for the hidden control and you can use ControlName.Value to get its value in
CodeBehind file
2.32 I have created a .NET user control page (.ascx) but I cannot compile and
run it.
User control (ascx) can't be run on it own, but you can drag it onto any web page (aspx) and then run it.
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
Every WebControl derived control has a CssClass property which allows you to set it's format to a style sheet.
2.35 Can I recieve both HTML markup for page and code in the ASP.NET web
page's source code portion in the Web browser?
No source code or web control syntax is passed back to the web browser.
2.36 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
2.37 ASP pages that worked pefectly on Windows 2000 Server and IIS 5.0 do
not work on Windows 2003 Server with IIS 6.0. ASP.NET pages work fine.
Why?
Start -> Settings -> Control Panel -> Administrative Tools -> and double clicking IIS Manager.
Go to the Web Service Extensions tab, click Active Server Pages, then press the "Allow" button on the left
2.38 Why do I get error message "Error creating assembly manifest: Error
reading key file 'key.snk' -- The system cannot find the file specified"?
Check the location of the key.snk file relative to the assembly file. Provide an explicit path or a relative path.
<Assembly: AssemblyKeyFileAttribute("Drive:\key.snk")>
VB.NET
C#
2.40 What is the best way to output only time and not Date?
Response.Write(DateTime.Now.ToString("hh:mm:ss"))
C#
Response.Write(DateTime.Now.ToString("hh:mm:ss"));
Response.Write ( Request.UrlReferrer.ToString())
C#
Response.Write ( Request.UrlReferrer.ToString());
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 wirtten
properly.
You need a stream to read the response, WebResponse.GetResponseStream(), and a stream to write it to the hard
drive. FileStream should do the trick. You'll have to write to the filestream what you read from the response stream.
VB.NET
FormsAuthentication.SignOut()
C#
FormsAuthentication.SignOut();
VB.NET
C#
string sLang ;
sLang = Request.UserLanguages[0];
Response.Write (sLang);
• CurrentCulture property : affects how the .NET Framework handles dates, currencies, sorting and
formatting issues
• CurrentUICulture property : determines which satellite assembly is used when loading resources
2.49 Can I read the hard disk serial # of the client computer using ASP.NET?
No. Such information is not passed to the server with a http request.
e is an event argument object that contains more information about the event
An event handler is used when one object wants to be notified when an event happens in another object
the URL
o This includes protocol moniker used( i.e http://, ftp://..etc..), Server's Domain name or IP address
Relative URLs:
• Only provide information necessary to locate a resource relative to the current document(document
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
VB.NET
C#
TimeSpan ts = TimeSpan.FromMilliseconds(10000);
Response.Write (ts.ToString () );
or
However, note that each source file will be compiled individually into its own assembly, so they cannot have
VB.NET
C#
2.56 How can I ensure that application-level variables are not updated by
more than one user simultaneously?
You can't use MsgBox or MessageBox.Show in ASP.NET WebForm. You maybe use:
VB.NET
Response.Write("<script>alert('Hello');</script>")
C#
Response.Write("<script>alert('Hello');</script>") ;
VB.NET
C#
bool blnValid=false;
try
{
DateTime.Parse(MyString);
blnValid=true;
}
catch
{
blnValid=false;
}
VB.NET
C#
VB.NET
C#
2.63 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
VB.NET
C#
TextBox1.Visible =!TextBox1.Visible ;
2.65 How to check if the user is using a secure or non secure connection?
The Request Object defines a Property called IsSecureConnection, that will indicate whether http:// or https:// has
been used.
You cannot write the code-behind files in different languages in the same project, but you can write the aspx pages
Response.Redirect
• Tranfers 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
Server.Transfer
• Only transfers the execution to another page and during this you will see the URL of the old page since only
• HttpContext.Current.Server.MachineName
• HttpContext.Current.Request.ServerVariables["LOCAL_ADDR"]
The first one should return the name of the machine, the second returns the local ip address.
Note that name of the machine could be different than host, since your site could be using host headers
The value of validateRequest is set to 'true' by default, which means that the framework will automatically deny
2.70 What is the different between <%# %> and <%= %>?
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.
By default ASP.NET Web applications run as ASP.NET user. This user has limited permissions equivalent to the User
Group.
default.aspx
Admin/login.aspx
Misc/testpage.aspx
And you are on the login.aspx and want your user to navigate to the default.aspx (or testpage.aspx) file. Then you
can use
• Response.Redirect ("../default.aspx")
• Response.Redirect ("../Misc/testpage.aspx")
2.73 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.
VB.NET
'Declare
Protected WithEvents Title1 As System.Web.UI.HtmlControls.HtmlGenericControl
'In Page_Load
Title1.InnerText ="Page 1"
C#
//Declare
protected System.Web.UI.HtmlControls.HtmlGenericControl Title1 ;
//In Page_Load
Title1.InnerText ="Page 1" ;
2.75 Why do I get the error message "Object must implement IConvertible".
How can I resolve it?
The common cause for this error is specifying a control as a SqlParameter's Value instead of the control's text value.
For example, if you write code as below you'll get the above error:
VB.NET
C#
To resolve it, specify the control's Text property instead of the control itself.
VB.NET
nameParameter.Value = txtName.Text
C#
nameParameter.Value =txtName.Text;
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).
2.79 How to automatically get the latest version of all the asp.net solution
items from Source Safe when opening the solution?
In VS.NET you can go to Tools > Options > Source Control > General and check the checkbox for Get everything
This retrieves the latest version of all solution items when you open the solution.
2.80 How to convert the datetime into a string for use in the SQL ' statement?
VB.NET
C#
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if (!Page.IsPostBack )
{
foreach(CultureInfo cInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
ddlCulture.Items.Add(cInfo.Name);
}
}
}
2.81 How to make VS.Net use FlowLayout as the default layout rather than
the GridLayout?
to
2003\VC#\VC#Wizards\CSharpWebAppWiz\Templates\1033
to
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:
1. Right clicking on the project name (Ex: "WebApplication1)" in Solution Explorer, and select "Properties".
2. From project properties window, under Common Properties>Designer Defaults>Page Layout change "Grid"
to "Flow".
No. DataReader provides a means of reading a forward-only stream of rows from a database.
• Server.Transfer is used to End the current weform and begin executing a new webform. This method works
• 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)
VB.NET
End Sub
C#
SqlConnection myconnection ;
SqlCommand mycmd ;
string strSql ;
SqlDataReader myReader ;
private void btnLogin_Click(object sender, System.EventArgs e)
{
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() )
{
Response.Write("Welcome");
}
else
{
Response.Write("Access Denied");
}
}
2.85 How to format a Telphone number in the xxx-xxx-xxxx format?
VB.NET
C#
No. ASP.NET uses parsers to strip the code from ASPX files and copy it to temporary files containing derived Page
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.
2.88 How can I have a particular Web page in an ASP.NET application which
displays its own error page.
This can be done by setting the ErroPage attribute of Page Directive or ErrorPage property of Page Class to the
In web.config