为什么缺少GridViewDeleteEventArgs.Values之一?

时间:2012-07-02 12:35:04

标签: sql gridview

我有gridviewsqldatasource包含7个值。 gridview datakeynamesequipment_ID;其余的都是常规领域。

我正在尝试在e.values("BME_No")中使用gridview_rowdeleted,但它是空的。同时,e.values("equipment_name")已满,e.values.count显示values为5. values应为6,不包括datakeyname equipment_ID

从这里的文章{no url provided},我看到datakeynames被排除在values之外。另一方面,BME_No不是datakeyname

我该怎么办?

的SqlDataSource:

<asp:SqlDataSource ID="SqlDataSource_GV" runat="server" ConnectionString="<%$ ConnectionStrings:MedicalEquipmentLibrary_DBConnectionString %>"
        SelectCommand="Select_Equipments" SelectCommandType="StoredProcedure" UpdateCommand="Update_Equipment"
        UpdateCommandType="StoredProcedure" CancelSelectOnNullParameter="False" DeleteCommand="Delete_Equipment"
        DeleteCommandType="StoredProcedure">
        <SelectParameters>
            <asp:ControlParameter ControlID="txtSearch" Name="BME_No" PropertyName="Text" Type="Int32" />
        </SelectParameters>
        <DeleteParameters>
            <asp:Parameter Name="Equipment_ID" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="Equipment_ID" Type="Int32" />
            <asp:Parameter Name="BME_No" Type="Int32" />
            <asp:Parameter Name="Equipment_Name" Type="String" />
            <asp:Parameter Name="Description" Type="String" />
            <asp:Parameter Name="Model_Name" Type="String" />
            <asp:Parameter Name="Vendor_Name" Type="String" />
            <asp:Parameter Name="Manufacture_Name" Type="String" />
        </UpdateParameters>
    </asp:SqlDataSource>

Gridview_rowdeleted事件:

 Protected Sub GV_Main_RowDeleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeletedEventArgs) Handles GV_Main.RowDeleted
        lblMessage.ForeColor = Drawing.Color.Red
        lblMessage.Visible = True
        lblMessage.Text = "Equipment " + e.Values("BME_No") + " is deleted."
    End Sub

1 个答案:

答案 0 :(得分:0)

  • 如果该字段是绑定字段,请检查该列是否可见。
  • 如果是模板字段,请检查该字段是否为双向绑定。来自Documentation

“只有在项目模板”

中使用双向绑定表达式时,才会填充Values属性