访问detailsView单元格内的文本框内容

时间:2011-07-25 15:37:07

标签: c# .net asp.net visual-studio detailsview

您好我需要访问详细信息视图中的文本框内容:

<asp:TemplateField HeaderText="Transaction Name:" > 
                <InsertItemTemplate>
                    <asp:TextBox ID="txtTransactionName" runat="server" />
                </InsertItemTemplate>            
</asp:TemplateField>

尝试string v = ((TextBox)detailsNew.FindControl("txtTransactionName")).Text;,但在我查看时它返回了“”。 编辑:我在detailsNew_ItemInserting(...)

中尝试上述内容

3 个答案:

答案 0 :(得分:1)

你可以尝试......

protected void detailsNew_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
  string v = ((TextBox)((DetailsView)sender).FindControl("txtTransactionName")).Text;
}

答案 1 :(得分:0)

首先,此项模板控件必须与数据源中的属性绑定,以便当项插入事件触发时,您可以使用此代码访问它的数据

e.Values["ColumnName"]

答案 2 :(得分:0)

发现问题。留在这里帮助可能有同样问题的其他人。

我无法使用sender对象来获取DetailsView。 所以正确的方法:

TextBox txt = (TextBox)DETAILSVIEW_ID.FindControl("TEXTBOX_ID") as TextBox;
string tmp = txt.Text;

DETAILSVIEW_ID是DetailsView的ID,TEXTBOX_ID是DetailsView中包装的TextBox的ID。