📄 datalisteditandselect.aspx
字号:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">
SqlConnection MC;
void DataBind() {
SqlDataAdapter myCommand = new SqlDataAdapter("select * from Products", MC);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Products");
MyDataList.DataSource=ds.Tables["Products"].DefaultView;
MyDataList.DataBind();
}
void Page_Load(Object sender, EventArgs e) {
MC = new SqlConnection("server=(local);database=Northwind;Trusted_Connection=yes");
if (!Page.IsPostBack) {
DataBind();
}
}
void MyDataList_Edit(Object sender, DataListCommandEventArgs e) {
MyDataList.EditItemIndex = (int)e.Item.ItemIndex;
DataBind();
}
void MyDataList_Update(Object sender, DataListCommandEventArgs e) {
//更新数据
String updateCmd = "UPDATE Products SET UnitsInStock = @UnitsInStock where ProductID=@ProductID";
SqlCommand myCommand = new SqlCommand(updateCmd, MC);
myCommand.Parameters.Add(new SqlParameter("@ProductID", SqlDbType.Int, 4));
myCommand.Parameters.Add(new SqlParameter("@UnitsInStock", SqlDbType.Int, 4));
myCommand.Parameters["@ProductID"].Value = MyDataList.DataKeys[(int)e.Item.ItemIndex];
String value=((HtmlInputText)e.Item.FindControl("edit_price")).Value;
myCommand.Parameters["@UnitsInStock"].Value =Convert.ToInt64(value);
myCommand.Connection.Open();
try
{
myCommand.ExecuteNonQuery();
MyDataList.EditItemIndex = -1;
}
catch (SqlException E)
{
}
myCommand.Connection.Close();
DataBind();
}
void MyDataList_Cancel(Object sender, DataListCommandEventArgs e) {
MyDataList.EditItemIndex = -1;
DataBind();
}
</script>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<form runat="server">
<table width="100%">
<tr>
<td width="50%">
<ASP:DataList id="MyDataList"
RepeatColumns="4"
RepeatDirection="Horizontal"
GridLines="Both"
OnEditCommand="MyDataList_Edit"
OnUpdateCommand="MyDataList_Update"
OnCancelCommand="MyDataList_Cancel"
DataKeyField="ProductID"
runat="server">
<ItemTemplate>
<table cellpadding=10 style="font: 10pt ">
<tr>
<td> 货品名:
<asp:linkbutton CommandName="Select"
Text='<%# DataBinder.Eval(Container.DataItem,"ProductName")%>'
runat="server"/><br>
<b>单价:</b><%# DataBinder.Eval(Container.DataItem,"UnitPrice","{0}")%><br>
<b>库存:</b><%# DataBinder.Eval(Container.DataItem,"UnitsInStock","{0}")%><br>
<asp:linkbutton CommandName="Edit" Text="更新库存" runat="server"/>
</td>
</tr>
</table>
</ItemTemplate>
<EditItemTemplate>
<table cellpadding=10 style="font: 10pt ">
<tr>
<td> 货品名:
<asp:linkbutton CommandName="Select"
Text='<%# DataBinder.Eval(Container.DataItem,"ProductName")%>'
runat="server"/><br>
<b>单价:</b><%# DataBinder.Eval(Container.DataItem,"UnitPrice","{0}")%><br>
<b>库存:</b><input id="edit_price" type="text" value='<%# DataBinder.Eval(Container.DataItem,"UnitsInStock","{0}")%>' runat="server"/><br>
<asp:linkbutton CommandName="Update" Text="更新" runat="server"/>
<asp:linkbutton CommandName="Cancel" Text="取消" runat="server"/>
</td>
</tr>
</table>
</EditItemTemplate>
</ASP:DataList>
</td>
</tr>
</table>
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -