【发布时间】:2010-12-18 03:45:32
【问题描述】:
我正在尝试使用事件处理程序和 ItemCommand 从我的数据网格更新数据库表。我设法调用了该例程,除了插入我的数据库的文本为空之外,一切正常。我设法将其追溯到未从我的数据网格页脚传递到 sql 参数的文本。我尝试先使用字符串,然后将其传递给参数,但它们也是空的。我正在使用以下行访问控件。
sqlcmd.Parameters.Add("@GoodsDesc", SqlDbType.VarChar).Value = CType(e.Item.FindControl("txtGoodsDesc"), TextBox).Text
控件本身是使用定义的
<asp:TemplateColumn HeaderText="Goods Descriptions">
<ItemTemplate>
<asp:Label runat="server" ID="lblGoodsDesc" Text='<%# Eval("GoodsDesc") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtGoodsDesc" runat="server" TextMode="MultiLine" Rows="3"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
我在这里遗漏了什么吗?这就像页脚中的文本在我调用它之前没有绑定到控件。
【问题讨论】:
-
您好,感谢您的建议。当我单击链接以添加行时,我发现程序正在调用 Page_Load,因此文本框实际上在尝试添加它们之前已被清空。我不知道会首先调用 Page_Load。我对如何解决这个问题有一些想法,现在我只希望我能让它发挥作用。