📅  最后修改于: 2023-12-03 14:59:24.402000             🧑  作者: Mango
ASP.Net Web表单是一种用于创建动态Web应用程序的技术。它允许程序员使用服务器端控件构建Web表单,这些表单可以处理用户输入、验证数据并向用户发送输出。Web表单还包括许多其他功能,例如使用Master Pages和Themes创建一致的页面布局和风格、使用ASP.Net控件处理数据、使用AJAX实现异步交互等。
Web表单控件是Web表单应用程序中的基本构建块。它们允许程序员创建文本框、标签、按钮、列表框、下拉菜单等用户界面元素,同时还可以与服务器交互以处理用户输入和执行其他操作。以下是ASP.Net Web表单中一些常用的服务器端控件:
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
TextBox控件用于输入文本,类型为string。
<asp:Label ID="lblName" runat="server"></asp:Label>
Label控件用于显示文本,类型为string。
<asp:Button ID="btnSubmit" Text="Submit" runat="server" OnClick="btnSubmit_Click"></asp:Button>
Button控件用于触发事件,例如处理用户输入、保存数据等。
<asp:DropDownList ID="ddlCity" runat="server">
<asp:ListItem Text="New York" Value="NY"></asp:ListItem>
<asp:ListItem Text="Los Angeles" Value="LA"></asp:ListItem>
<asp:ListItem Text="Chicago" Value="CH"></asp:ListItem>
</asp:DropDownList>
DropDownList控件用于显示列表和允许用户选择其中一项,类型为string。
<asp:GridView ID="grdEmployees" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="City" HeaderText="City" />
</Columns>
</asp:GridView>
GridView控件用于显示数据列表,例如从数据库检索数据并显示在网格中。
Web表单控件可用于触发事件,例如在按钮单击时处理用户输入。以下是ASP.Net Web表单中一些常用的服务器端事件:
protected void Page_Load(object sender, EventArgs e)
{
// code here
}
Page_Load事件在页面加载时触发,通常用于初始化控件属性和执行其他操作。
protected void btnSubmit_Click(object sender, EventArgs e)
{
// code here
}
Button_Click事件在按钮单击时触发,用于处理用户输入并执行其他操作。
protected void grdEmployees_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
GridViewRow row = grdEmployees.Rows[rowIndex];
// code here
}
}
GridView_RowCommand事件在GridView中的行命令(例如编辑、删除)触发时触发,用于处理用户交互并更新数据。
Web表单验证是一种用于验证用户输入的技术。ASP.Net Web表单提供了多种验证控件,例如RequiredFieldValidator、CompareValidator、RegularExpressionValidator等,用于验证文本框、下拉菜单等用户界面元素的值。程序员还可以创建自定义验证器来执行更复杂的验证逻辑。
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvName" ControlToValidate="txtName" ErrorMessage="Name is required!" runat="server"></asp:RequiredFieldValidator>
RequiredFieldValidator用于验证文本框输入字段是否为空。
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:CompareValidator ID="cvPassword" ControlToValidate="txtConfirmPassword" ControlToCompare="txtPassword" ErrorMessage="Passwords do not match!" runat="server"></asp:CompareValidator>
CompareValidator用于验证两个文本框输入字段的值是否匹配。
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="revEmail" ControlToValidate="txtEmail" ErrorMessage="Invalid email address!" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" runat="server"></asp:RegularExpressionValidator>
RegularExpressionValidator用于验证文本框输入字段的值是否与指定的正则表达式匹配。
Web表单控件用于显示和处理数据,可以从各种数据源(例如数据库、XML文件、Web服务等)中检索数据并显示在网格视图、下拉菜单、列表框等控件中。ASP.Net提供了多种数据处理技术,例如ADO.Net、LINQ、Entity Framework等。
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = "Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "SELECT EmployeeID, Name, City FROM Employees";
SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
DataTable table = new DataTable();
adapter.Fill(table);
grdEmployees.DataSource = table;
grdEmployees.DataBind();
}
}
上述代码演示了如何检索数据库中的数据并将其显示在GridView中。
protected void Page_Load(object sender, EventArgs e)
{
List<Employee> employees = new List<Employee>()
{
new Employee { EmployeeID = 1, Name = "John Doe", City = "New York" },
new Employee { EmployeeID = 2, Name = "Jane Smith", City = "Los Angeles" },
new Employee { EmployeeID = 3, Name = "Bob Johnson", City = "Chicago" }
};
var query = from emp in employees
where emp.City == "New York"
select emp;
grdEmployees.DataSource = query.ToList();
grdEmployees.DataBind();
}
public class Employee
{
public int EmployeeID { get; set; }
public string Name { get; set; }
public string City { get; set; }
}
上述代码演示了如何使用LINQ查询从List中检索数据并将其显示在GridView中。
protected void Page_Load(object sender, EventArgs e)
{
using (MyDatabaseEntities context = new MyDatabaseEntities())
{
var query = from emp in context.Employees
where emp.City == "New York"
select emp;
grdEmployees.DataSource = query.ToList();
grdEmployees.DataBind();
}
}
上述代码演示了如何使用Entity Framework从SQL Server数据库中检索数据并将其显示在GridView中。注意,MyDatabaseEntities是根据数据库架构自动创建的类。