簡體   English   中英

為什么單擊更新后我的GridView無法更新?

[英]Why is my GridView not updating when I click Update?

我正在用GridView編寫一個asp.net應用程序。 我的刪除命令正常工作; 但是,更新命令無法正常工作。 我真的很想避免為這種情況創建模板字段,因為我將在同一頁面上使用大約5個不同的GridView。

這是我的標記代碼。

<asp:GridView ID="GridView1" runat="server" 
      DataSourceID="DataSource" AutoGenerateColumns="False" 
      DataKeyNames="ID" >
    <Columns>
      <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
      <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="true" />
      <asp:BoundField DataField="Name" HeaderText="Name" />
      <asp:BoundField DataField="DefaultValue" HeaderText="DefaultValue" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="DataSource" runat="server" 
    ConnectionString="<%$ ConnectionStrings:MyApp.Web_App.Properties.Settings.DB %>" 
      SelectCommand="SELECT [ID], [Name], [DefaultValue] FROM [MyTable] WHERE ([MyID] = @MyID)" 
      DeleteCommand="DELETE FROM dbo.MyTable WHERE (ID = @ID)"
      UpdateCommand="UPDATE dbo.MyTable SET Name = @Name, DefaultValue = @DefaultValue WHERE (ID = @ID)" >

    <SelectParameters>
        <asp:SessionParameter Name="MyID" SessionField="My_ID" Type="Int32" />
    </SelectParameters>
    <UpdateParameters>
      <asp:Parameter Name="ADRoleToAttributeDefaultID" Type="Int32" />
      <asp:Parameter Name="ADAttrName" Type="String" />
      <asp:Parameter Name="ADAttrDefaultValue" Type="String" />
    </UpdateParameters>
</asp:SqlDataSource>

該表中填充了數據,我可以在該表上執行刪除操作。 我只是不確定為什么更新無法正常進行。

編輯1

我添加了建議的標記,但是仍然沒有用。 我應該如何設置參數?

在SelectParameters之后添加UpdateParameters:

<SelectParameters>
    <asp:SessionParameter Name="MyID" SessionField="My_ID" Type="Int32" />
</SelectParameters>

<UpdateParameters>
        <asp:Parameter Name="ID" Type="Int32" />
        <asp:Parameter Name="Name" Type="String" />
        <asp:Parameter Name="DefaultValue" Type="String" />
 </UpdateParameters>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM