无法在DataList中获取TextBox文本

时间:2014-12-05 15:17:01

标签: asp.net c#-4.0

我想在编辑模式下访问的数据列表中有一个文本框:

<asp:DataList ID="dl1" OnEditCommand="dl1_EditCommand"
                         OnCancelCommand="dl1_CancelCommand" OnUpdateCommand="dl1_UpdateCommand"
                         runat="server">
...
    <asp:TextBox ID="tbType" Width="600" runat="server" Text='<%# Eval("Type") %>' />

代码隐藏:

protected void dl1_UpdateCommand(object sender, DataListCommandEventArgs e)
{
    TextBox tb = (TextBox)e.Item.FindControl("tbType");
}

我的代码执行,但文本框的值总是为空,即使我有一个值!我没有得到我的更新文本或默认文本 - 我得到了空值。它找到了文本框,我甚至打开了检查器来查看它的文本......

以前没有发生这种情况,我不确定我做错了什么。我之前从来没有遇到这样的问题...

完全公开 - 这是用户控件内的数据列表。

更新

按要求显示EditItemTemplate个代码。

值为“” - 我得到对文本框的引用,但没有值。

<EditItemTemplate>
    <td><asp:LinkButton ID="lbEdit" runat="server" Text="Update" CommandName="update" CausesValidation="false" />
    <br /><asp:LinkButton ID="lbCancel" runat="server" Text="Cancel" CommandName="cancel" CausesValidation="false" />
    </td>
    <td>
        <asp:HiddenField ID="hfID" runat="server" Value='<%# Eval("Id") %>' />
        <asp:TextBox ID="tbType" Width="600" runat="server" Text='<%# Eval("Type") %>' />
    </td>
    <td></td>
</EditItemTemplate>

0 个答案:

没有答案