DetailsView更新数据问题请帮我找错误
在DetailsView中有<asp:TemplateField HeaderText="产品ID" SortExpression="PId" Visible="False">
<ItemTemplate>ub
<asp:Label ID="Label1" runat="server" Text='<%# Bind("PId") %>' Width="123px"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="产品名称" SortExpression="PName">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("PName") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("PName") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("PName") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnUpdate" runat="server" Text="更新"
CommandArgument='<%# Eval("PId") %>'
CommandName="updt" />
</ItemTemplate>
</asp:TemplateField>
然后我在DetailsView的ItemCommand事件中代码这样写:
protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e)
{
if (e.CommandName == "updt")
{
TextBox txtName = (TextBox)this.DetailsView1.FindControl("TextBox3");
string pName = txtName.Text;
if (ProductInfoBLL.UpdateProduct(Convert.ToInt32(e.CommandArgument),pName))
{
Response.Write("<script> alert('更新成功!'); </script>");
}
else
{
Response.Write("<script> alert('更新失败!'); </script>");
}
}
用的是Access数据库,但是更新不了,插入也有错误。
请高手指教,先谢谢啦! --------------------编程问答-------------------- Eval是单向绑定,不可以 更新数据 ,试试都 用bind()
补充:.NET技术 , ASP.NET