ASP.NET Tutorial/HTML Controls/Form
Содержание
- 1 A survey form (C#)
- 2 form default focus
- 3 Multiple server forms can be employed as long as only one is rendered at a time
- 4 one server-side form tag and multiple client HTML form elements
- 5 Specifying a Default Button
- 6 Submitting Form Data
- 7 Use HTML form to layout asp.net controls (VB.net)
- 8 Using validation controls to fill a form.
A survey form (C#)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Using ASP.NET HTML Server Controls</title>
<script runat="server" language="C#">
void Click(Object s, EventArgs e)
{
feedbackLabel.Text = "Your name is: " + name.Value + "<br />";
feedbackLabel.Text += "Your email is: " + email.Value +
"<br />";
feedbackLabel.Text += "You like to work with:<br />";
for (int i = 0; i <= serverModel.Items.Count - 1; i++)
{
if (serverModel.Items[i].Selected)
{
feedbackLabel.Text += " - " + serverModel.Items[i].Text +
"<br />";
}
}
feedbackLabel.Text += "You like .NET: " + likeDotNet.Value;
}
</script>
</head>
<body>
<form runat="server">
<h2>Take the Survey!</h2>
Name:<br />
<input type="text" id="name" runat="server" />
Email:<br />
<input type="text" id="email" runat="server" />
Which server technologies do you use?<br />
<select id="serverModel" runat="server" multiple="true">
<option>ASP.NET</option>
<option>PHP</option>
<option>JSP</option>
<option>CGI</option>
<option>ColdFusion</option>
</select>
Do you like .NET so far?<br />
<select id="likeDotNet" runat="server">
<option>Yes</option>
<option>No</option>
</select>
<button id="confirmButton" OnServerClick="Click"
runat="server">Confirm</button>
<asp:Label id="feedbackLabel" runat="server" />
</form>
</body>
form default focus
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="FocusAndDefault" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Focus and Default Button</title>
</head>
<body>
<form id="Form1"
defaultbutton="cmdSubmit"
defaultfocus="TextBox1"
runat="server">
<div>
TextBox1:
<asp:textbox id="TextBox1"
runat="server"
AccessKey="1"></asp:textbox>
<br />
TextBox2:
<asp:textbox id="TextBox2"
runat="server"
AccessKey="2"></asp:textbox>
<br /><br />
<asp:button id="cmdSetFocus1"
text="Set Focus #1"
runat="server"
OnClick="cmdSetFocus1_Click">
</asp:button>
<asp:button id="cmdSetFocus2"
text="Set Focus #2"
runat="server"
OnClick="cmdSetFocus2_Click" >
</asp:button>
<asp:Button ID="cmdSubmit"
runat="server"
Text="Submit"
OnClick="cmdSubmit_Click" />
<hr />
<asp:label id="Label1"
runat="Server"
EnableViewState="False"></asp:label>
</div>
</form>
</body>
</html>
File: Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class FocusAndDefault : System.Web.UI.Page
{
protected void cmdSubmit_Click(object sender, EventArgs e)
{
Label1.Text = "Clicked Submit.";
}
protected void cmdSetFocus1_Click(object sender, EventArgs e)
{
TextBox1.Focus();
}
protected void cmdSetFocus2_Click(object sender, EventArgs e)
{
TextBox2.Focus();
}
}
Multiple server forms can be employed as long as only one is rendered at a time
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Multiple Server Forms--Kind of Wizard</title>
</head>
<body>
<div id="pageContent">
<form id="step0" runat="server" visible="true">
<h1>Welcome</h1>
<asp:textbox runat="server" id="Textbox1" />
<asp:button ID="Button1" runat="server" text="Step #1" OnClick="Button1_Click" />
</form>
<form id="step1" runat="server" visible="false">
<h1>Step #1</h1>
<asp:textbox runat="server" id="Textbox2" />
<asp:button ID="Button2" runat="server" text="Previous step" OnClick="Button2_Click" />
<asp:button ID="Button3" runat="server" text="Step #2" OnClick="Button3_Click" />
</form>
<form id="step2" runat="server" visible="false">
<h1>Finalizing</h1>
<asp:button ID="Button4" runat="server" text="Finish" OnClick="Button4_Click" />
</form>
</div>
</body>
</html>
File: Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Title = "Welcome";
}
protected void Button1_Click(object sender, EventArgs e)
{
Title = "Step 1";
step0.Visible = false;
step1.Visible = true;
}
protected void Button2_Click(object sender, EventArgs e)
{
step0.Visible = true;
step1.Visible = false;
}
protected void Button3_Click(object sender, EventArgs e)
{
Title = "Finalizing";
step1.Visible = false;
step2.Visible = true;
}
protected void Button4_Click(object sender, EventArgs e)
{
Title = "Done";
step2.Visible = false;
Response.Write("<h1>Successfully done.</h1>");
}
}
one server-side form tag and multiple client HTML form elements
<%@ Page Language="C#" AutoEventWireup="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Multiple HTML Forms</title>
</head>
<body>
<div id="pageContent">
<table>
<tr>
<td valign="top">
<form id="form1" runat="server">
<div>
<h2>Any collection of controls here</h2>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<h3>This represents an ordinary ASP.NET page</h3>
</div>
</form>
</td>
<td valign="top" align="right" >
<form method="post" action="search.aspx">
<h3>Search Box</h3>
<table>
<tr >
<td>Keyword</td>
<td><input type="text" id="Keyword" name="Keyword" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" id="StartSearch" value="Search" />
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</div>
</body>
</html>
File: NextPage.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NextPage.aspx.cs"
Inherits="NextPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Search Page</title>
</head>
<body>
<form id="form1" runat="server">
<div id="pageContent">
<h1>Searching for...
<asp:Label ID="KeywordBeingUsed" runat="server" ForeColor="blue"></asp:Label></h1>
</div>
</form>
</body>
</html>
File: NextPage.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class NextPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string textToSearch = Request.Form["Keyword"].ToString();
KeywordBeingUsed.Text = textToSearch;
}
}
Specifying a Default Button
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnSearch_Click(object sender, EventArgs e)
{
lblResult.Text = "Search for: " + txtSearch.Text;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Button Default Button</title>
</head>
<body>
<form id="form1" defaultbutton="btnSearch" runat="server">
<div>
<asp:Label
id="lblSearch"
Text="Search:"
AssociatedControlID="txtSearch"
Runat="server" />
<asp:TextBox
id="txtSearch"
Runat="server" />
<asp:Button
id="btnSearch"
Text="Search"
OnClick="btnSearch_Click"
Runat="server" />
<asp:Button
id="btnCancel"
Text="Cancel"
Runat="server" />
<hr />
<asp:Label
id="lblResult"
Runat="server" />
</div>
</form>
</body>
</html>
Submitting Form Data
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnSubmit_Click(object sender, EventArgs e)
{
lblTime.Text = DateTime.Now.ToString("T");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Show Button</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button
id="btnSubmit"
Text="Submit"
OnClick="btnSubmit_Click"
Runat="server" />
<br /><br />
<asp:Label
id="lblTime"
Runat="server" />
</div>
</form>
</body>
</html>
Use HTML form to layout asp.net controls (VB.net)
<%@ Page Language="VB" %>
<script runat="server">
dim Username as string
dim Password as string
dim BackColor as string
sub Submit(Sender as Object, e as EventArgs)
Label1.Text = "Username: <b>" & User.Text & _
"</b><br>" & "Password: <b>" & Pass.Text & "</b>"
end sub
</script>
<html><body>
<form runat="server">
<table>
<tr>
<td><b>Login: </b></td>
<td><ASP:TextBox id="User" runat="server"/></td>
</tr>
<tr>
<td><b>Password: </b></td>
<td><ASP:TextBox id="Pass" TextMode="Password"
runat="server"/></td>
</tr>
<tr>
<td></td>
<td><ASP:Button Text="Submit" runat="server"
OnClick="Submit" /></td>
</tr>
</table>
<ASP:Label id="Label1" runat="server"/>
</form>
</body></html>
Using validation controls to fill a form.
<%@ Page Language="C#" AutoEventWireup="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Form filling (ASP.NET)</title>
</head>
<script type="text/javascript">
function CheckMembership(source, arguments)
{
arguments.IsValid = false;
var buf = arguments.Value;
if (buf == "Normal" || buf== "Silver" ||
buf == "Gold" || buf == "Platinum")
arguments.IsValid = true;
}
</script>
<body>
<div id="pageContent">
<form id="form1" runat="server">
<table>
<tr>
<td>Name</td><td>*</td>
<td><asp:textbox runat="server" id="fname" />
<asp:RequiredFieldValidator runat="server" id="fnameValidator"
ControlToValidate="fname"
Text="!!!"
ErrorMessage="Name is mandatory" /></td></tr>
<tr>
<td>Last Name</td><td>*</td>
<td><asp:textbox runat="server" id="lname" />
<asp:RequiredFieldValidator runat="server" id="lnameValidator"
ControlToValidate="lname"
Text="!!!"
ErrorMessage="Last name is mandatory" /></td></tr>
<tr>
<td>Age</td><td></td>
<td><asp:textbox runat="server" id="age" />
<asp:CompareValidator runat="server" id="ageValidator"
ControlToValidate="age"
Operator="GreaterThanEqual"
ValueToCompare="18"
Type="integer"
ErrorMessage="Age must be at least 18." /></td></tr>
<tr>
<td>Hire Date</td><td></td>
<td><asp:textbox runat="server" id="hired" />
<asp:CompareValidator runat="server" id="hiredValidator"
ControlToValidate="hired"
Display="Static"
Operator="DataTypeCheck"
Type="date"
ErrorMessage="Must enter a date." />
<asp:RangeValidator runat="server" id="hiredDateValidator"
ControlToValidate="hired"
Display="Dynamic"
MinimumValue="1999-1-1"
MaximumValue="9999-12-31"
Type="Date"
ErrorMessage="Date after 1-1-99." /></td></tr>
<tr>
<td>Membership Level</td><td></td>
<td><asp:textbox runat="server" id="membership" />
<asp:CustomValidator runat="server" id="membershipValidator"
ControlToValidate="membership"
ClientValidationFunction="CheckMembership"
ErrorMessage="Must be Gold or Platinum." /></td></tr>
</table>
<asp:linkbutton ID="Linkbutton1" runat="server" Text="Add..." />
<hr>
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
ShowMessageBox="true"
ShowSummary="true"
HeaderText="The following errors occurred:"
DisplayMode="BulletList" />
</form>
</div>
</body>
</html>