Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问detailsView单元格中的文本框内容_C#_.net_Asp.net_Visual Studio_Detailsview - Fatal编程技术网

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

C# 访问detailsView单元格中的文本框内容,c#,.net,asp.net,visual-studio,detailsview,C#,.net,Asp.net,Visual Studio,Detailsview,您好,我需要访问详细信息视图中文本框的内容: <asp:TemplateField HeaderText="Transaction Name:" > <InsertItemTemplate> <asp:TextBox ID="txtTransactionName" runat="server" /> </InsertItemTemplate>

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

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

已尝试
string v=((TextBox)detailsNew.FindControl(“txtTransactionName”)).Text但我检查时它返回“”。
编辑:我正在
detailsNew\u itemsinserting(…)

中尝试上述操作,您可以像

protected void detailsNew_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
  string v = ((TextBox)((DetailsView)sender).FindControl("txtTransactionName")).Text;
}
你可以试着像

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

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

e.Values["ColumnName"]

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

e.Values["ColumnName"]

发现了问题。把这个放在这里是为了帮助其他可能有同样问题的人

我无法使用sender对象获取DetailsView。 因此,正确的方法是:

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

DETAILSVIEW_ID是DETAILSVIEW的ID,TEXTBOX_ID是DETAILSVIEW中装箱的文本框的ID。

发现问题。把这个放在这里是为了帮助其他可能有同样问题的人

我无法使用sender对象获取DetailsView。 因此,正确的方法是:

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


DETAILSVIEW_ID是DETAILSVIEW的ID,TEXTBOX_ID是DETAILSVIEW中装箱的文本框的ID。

您可以将您的代码发布到您尝试此代码的地方吗?您正在尝试在页面加载事件中获取此信息吗?已使用位置更新。我已更新我的答案。现在就试试。你能把你的代码贴在哪里吗?你在哪里试过这个代码?您正在尝试在页面加载事件中获取此信息吗?已使用位置更新。我已更新我的答案。现在就试试。它应该可以工作了,我已经从我现有的一个项目中得到了这段代码。可能是别的地方出了问题。在过去的两个小时里,我一直在做这件事,没法让它工作。也许是我构建细节视图模板的方式?好的。我发现了错误。通过发送者,它根本不起作用。必须输入detailsView控件名称。在本例中,详细信息是新的。它应该可以工作,我已经从我现有的一个项目中获得了这段代码。可能是别的地方出了问题。在过去的两个小时里,我一直在做这件事,没法让它工作。也许是我构建细节视图模板的方式?好的。我发现了错误。通过发送者,它根本不起作用。必须输入detailsView控件名称。在本例中,详细信息是新的。您在问题中没有指定相同的内容吗?嗯,您是对的。我可能是用sender复制粘贴了一些有用的东西,但没有尝试--甚至没有注意到。我一直看到使用sender的示例。我知道这种方法,因为您使用它会遇到问题,所以我给您提供了另一种解决方案。我在我们的项目中使用了这两种方法,它们都为我工作。你的问题中不是指定了相同的东西吗?嗯,你是对的。我可能是用sender复制粘贴了一些有用的东西,但没有尝试--甚至没有注意到。我一直看到使用sender的示例。我知道这种方法,因为您使用它会遇到问题,所以我给您提供了另一种解决方案。我在我们的项目中使用了这两种方法,并且都为我工作。