【发布时间】:2017-12-22 22:34:51
【问题描述】:
我有一个 GridView 来显示我的产品,我还制作了 EditButton 和 DeleteButton 来更新和删除我在 GridView 中的产品。当我单击 EditButton 时,我的 gridview 有一个 DropDownList 来显示我的 ProductType 但我收到一条错误消息:
对象引用未设置为对象的实例
这张图片将显示我在哪里得到错误:
这是我用来为 DropDownList 填充数据源的方法:
感谢您的帮助!
<asp:GridView ID="gridviewSanPham" runat="server" DataKeyNames="ID" AllowPaging="True" PageSize="4" AutoGenerateColumns="False" OnPageIndexChanging="gridviewSanPham_PageIndexChanging" OnRowCancelingEdit="gridviewSanPham_RowCancelingEdit" OnRowDeleting="gridviewSanPham_RowDeleting" OnRowEditing="gridviewSanPham_RowEditing" OnRowUpdating="gridviewSanPham_RowUpdating" OnRowDataBound="gridviewSanPham_RowDataBound">
<Columns>
<asp:CommandField ButtonType="Button" ShowEditButton="true" ShowCancelButton="true" />
<asp:CommandField ButtonType="Button" ShowDeleteButton="true" ShowCancelButton="true" />
<asp:BoundField DataField="ID" HeaderText="Mã sản phẩm" ReadOnly="true"/>
<asp:TemplateField HeaderText="Mã Loại">
<ItemTemplate>
<%# Eval("TypeID") %>
</ItemTemplate>
<EditItemTemplate>
<asp:Label runat="server" ID="lblTypeID" Text='<%# Eval("TypeID") %>'></asp:Label>
<asp:DropDownList runat="server" ID="cboTypeID" ></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tên SP">
<ItemTemplate>
<%# Eval("Name") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtName" Text='<%# Eval("Name") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Giá">
<ItemTemplate>
<%# Eval("Price") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtPrice" Text='<%# Eval("Price") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Mô tả">
<ItemTemplate>
<%# Eval("Description") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtDescription" Text='<%# Eval("Description") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Hình">
<ItemTemplate>
<%# Eval("Image") %>
</ItemTemplate>
<EditItemTemplate>
<asp:Label runat="server" ID="lblImage" Text='<%# Eval("Image") %>'></asp:Label>
<asp:FileUpload runat="server" ID="uploadImage" />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是我的aspx代码
【问题讨论】:
-
你能否添加一个屏幕截图来显示你的
SqlDataAdapter对象da产生的值 -
请分享您的 gridview html 标记和 FillLoaIsp 代码。这将帮助我们确定根本原因。
-
您是否在 FindControl("cboTypeID") 中提供了正确的下拉 ID,因为从名称看来,您在此提供了复选框 ID。你能分享你的gridview HTML吗?
-
@Prabhat 是的,我给了我的图片以在我的问题中显示我的 FillLoaiSP 方法
标签: javascript c# asp.net gridview