Climbing the learning curve for creating asp.net webform pages with Visual Studio 2010 (VB).
I had written a fairly complicated .aspx page with form controls, including textboxes and buttons, etc. I never thought to place the form controls inside a <form>
block. Instead, all the controls include the "runat" directive; for example, <asp:textbox id="txtUserName" runat="server">
etc. In the codebehind I access the data with strUserName = txtUserName.text
. This seems to work just fine.
Now, though, I received some form pages from our contracted "professional" web developer wherein the form code is all enclosed in a <form runat="server">
block, and none of the controls include the runat
directive. Accessing the data from these controls is a little different: It uses the <input type="text name="txtUserName" id="txtUserName" />
method, and accessing the data in the codebehind
is strUserName = Request.Form("txtUserName").ToString
.
My method seems to work fine, but I am wondering if there is a difference in behavior or reliability between my method and his. Even though my way works, am I doing it wrong?
Mine is based on online research I have done to learn this stuff, and I don't remember seeing anything that looked like his. However, just today I see places that are saying that on .aspx pages, form controls MUST be enclosed in a <form>
block (i.e., this page at w3schools.com).
Can anyone clarify this for me?
Thanks for your help!