Asp.net ASP GridView更新不工作

Asp.net ASP GridView更新不工作,asp.net,vb.net,gridview,Asp.net,Vb.net,Gridview,我有一个gridview,用户可以在其中编辑一个uniqueID,然后应该更新其中列REF是唯一标识符的位置 但是,这不起作用,没有错误,单击更新时页面将刷新,没有任何更改: 谢谢你的帮助 <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource2" ShowHeaderWhenEmpty="True"

我有一个gridview,用户可以在其中编辑一个uniqueID,然后应该更新其中列REF是唯一标识符的位置

但是,这不起作用,没有错误,单击更新时页面将刷新,没有任何更改:

谢谢你的帮助

<asp:GridView ID="GridView3" runat="server" 
          AutoGenerateColumns="False" DataSourceID="SqlDataSource2"
           ShowHeaderWhenEmpty="True" 
           showfooterwhenempty="true"
          ShowFooter="True" AllowPaging="True" PageSize="20" 
         CssClass="pagination myTable"
          BorderColor="#D9D9D9"
          borderstyle="Solid"
          BorderWidth="1px"        

           EnableModelValidation="True" GridLines="Both" AutoGenerateEditButton="True">
          <HeaderStyle cssClass="myheader" BackColor="#e6EEEE" />
    <rowstyle CssClass="myRow" HorizontalAlign="left" BorderColor="#D9D9D9" BorderStyle="Solid" BorderWidth="1px" />
    <alternatingrowstyle CssClass="myAltRow" backcolor="#F0F0F6" HorizontalAlign="left" BorderColor="#D9D9D9" BorderStyle="Solid" BorderWidth="1px" />

 <Columns>


     <asp:BoundField DataField="uniqueID" HeaderText="uniqueID" 
         SortExpression="uniqueID" />

     <asp:BoundField DataField="REF" HeaderText="REF" SortExpression="REF" ReadOnly="true" />

 </Columns>

 <emptydatarowstyle backcolor="LightBlue" forecolor="Red"/>
 <EmptyDataTemplate>
         Please enter a unique ID in the search box above.
    </EmptyDataTemplate>




 </asp:GridView>



    <asp:SqlDataSource ID="SqlDataSource2" runat="server"
        ConnectionString="<%$ ConnectionStrings:DGRecon_DevConnectionString %>"



        SelectCommand=" SELECT 
                        *
                          FROM postfinance
                          where uniqueID = @uniqueID"



        Updatecommand="UPDATE postfinance SET uniqueID = @uniqueID WHERE REF = @REF">


    <UpdateParameters>
        <asp:Parameter Name="uniqueID" Type="String" />
        <asp:Parameter Name="ref" Type="String" />
    </UpdateParameters>

    <SelectParameters>
            <asp:ControlParameter Name="uniqueID" ControlID="uniqueID"   />
  </SelectParameters>





</asp:SqlDataSource>
</div>

请在上面的搜索框中输入唯一的ID。

您需要向gridview中添加DataKeyName,如下所示:

<asp:GridView ID="yourGridViewId" DataKeyNames="REF" ... >
...
</asp:GridView>


必须设置DataKeyNames属性才能使GridView控件的自动更新和删除功能正常工作。这些关键字段的值传递给数据源控件,以指定要更新或删除的行。

将ref参数添加为QueryStringParameter

<SelectParameters>
  <asp:QueryStringParameter Name="ref" QueryStringField="ref" />
</SelectParameters>