您好我需要访问详细信息视图中的文本框内容:
<asp:TemplateField HeaderText="Transaction Name:" >
<InsertItemTemplate>
<asp:TextBox ID="txtTransactionName" runat="server" />
</InsertItemTemplate>
</asp:TemplateField>
尝试string v = ((TextBox)detailsNew.FindControl("txtTransactionName")).Text;
,但在我查看时它返回了“”。
编辑:我在detailsNew_ItemInserting(...)
答案 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。