2012-07-02 48 views
1

我有一個gridviewsqldatasource包含7個值。 gridview datakeynamesequipment_ID;其餘的都是常規領域。爲什麼GridViewDeleteEventArgs.Values中的一個丟失?

我試圖在gridview_rowdeleted內使用e.values("BME_No"),但它是空的。同時,e.values("equipment_name")已滿並且e.values.count顯示values是5. values應該是6,不包括datakeyname equipment_ID

從這裏的文章{沒有網址提供},我看到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 
+0

「這裏的文章」你提到的,但不提供的網址或鏈接「當雙向綁定表達式中的項目模板被使用的值屬性僅填充」。請提供鏈接。 – JoshDM

回答

0
  • 如果該字段是綁定的字段,檢查欄是可見的。
  • 如果它是模板字段,請檢查該字段是雙向綁定的。從Documentation