繁体   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