⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datalisteditandselect.aspx

📁 这是《ASP.NET编程实作教程》一书中的源文件 如果有此书的朋友不防下载过来参考
💻 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 + -