C# 是否在templateField标记内获取文本框值?
如何在templateField标记中获取textbox值 这是我的密码:C# 是否在templateField标记内获取文本框值?,c#,asp.net,C#,Asp.net,如何在templateField标记中获取textbox值 这是我的密码: <Fields> <asp:TemplateField > <ItemTemplate > <asp:TextBox ID="SUBJEK" runat="server" Width="600px" Text='<%# Bind("SUBJEK") %>' /> </ItemTemplate> </
<Fields>
<asp:TemplateField >
<ItemTemplate >
<asp:TextBox ID="SUBJEK" runat="server" Width="600px" Text='<%# Bind("SUBJEK") %>' />
</ItemTemplate>
</asp:TemplateField>
</Fields>
但是,它不起作用。这将显示错误消息:
无法将类型“System.Web.UI.Control”转换为“JobList.TextBox”
FindControl方法返回一个控件数组,而不是单个控件,因此需要提及索引
FindControl方法返回一个控件数组,而不是单个控件,因此需要提及索引
您必须转到单元格以查找控件,提供行索引和列索引
int indexOfRowYouAreFinding = 0;
int indexOfColYouAreFinding = 2;
TextBox subjek = DV1.Rows[indexOfRowYouAreFinding].Cells[indexOfColYouAreFinding].FindControl("SUBJEK")[0] as TextBox;
您必须转到单元格以查找控件,提供行索引和列索引
int indexOfRowYouAreFinding = 0;
int indexOfColYouAreFinding = 2;
TextBox subjek = DV1.Rows[indexOfRowYouAreFinding].Cells[indexOfColYouAreFinding].FindControl("SUBJEK")[0] as TextBox;
“详细信息”视图中有多行,因此必须给出从中选择文本框值的行的索引。 TextBox t=TextBox DV1。行[0]。FindControlSubSeek
此代码将返回第一行值。详细信息视图中有多行,因此您必须给出从中选择文本框值的行的索引。 TextBox t=TextBox DV1。行[0]。FindControlSubSeek
此代码将返回第一行值。命名空间中还有一个名为TextBox的类 选中,JobList.TextBox不是asp.net文本框 这将有助于:
var subjek = (TextBox)DV1.FindControl("SUBJEK") as System.Web.UI.WebControls.Textbox;
您的命名空间中还有一个名为TextBox的类 选中,JobList.TextBox不是asp.net文本框 这将有助于:
var subjek = (TextBox)DV1.FindControl("SUBJEK") as System.Web.UI.WebControls.Textbox;
它仍然不起作用。。下面是错误消息,无法将带[]的索引应用于“System.Web.UI.Control”类型的表达式。有什么想法吗?它仍然不起作用。。此处是错误消息,无法将带[]的索引应用于类型为“System.Web.UI.Control”的表达式有何想法?DV1是detailsView控件的ID。。。知道吗?DV1是detailsView控件的ID。。。有什么想法吗?还是没用。。下面是错误消息,无法将[]索引应用于“System.Web.UI.Control”类型的表达式…将不起作用,您有自己的名为TextBox的类。看看我的回答是否有帮助。它仍然不起作用。。下面是错误消息,无法将[]索引应用于“System.Web.UI.Control”类型的表达式…将不起作用,您有自己的名为TextBox的类。看看我的回答是否有帮助。。无法将类型“System.Web.UI.Control”转换为“JobList.TextBox”我认为问题在于对TextBox的强制转换方法…这是强制转换TextBox的唯一方法吗?请将完整的代码与详细信息视图一起发布,以便我们更好地理解idnt工作。。无法将类型“System.Web.UI.Control”转换为“JobList.TextBox”我认为问题在于对TextBox的强制转换方法…这是强制转换TextBox的唯一方法吗?请将完整的代码与详细信息视图一起发布,以便我们更好地理解,我计算了这一点。当两个类具有相同的名称时,您可以使用名称空间来区分。嘿,,,这很有效!谢谢@nunespascal。。。这是我的最终代码:System.Web.UI.WebControls.TextBox subject=System.Web.UI.WebControls.TextBoxDV1.findcontrolsubject作为System.Web.UI.WebControls.TextBox;但是我不知道它为什么工作?你能告诉我吗?如果两个类有相同的名称,.net不知道只使用类名使用哪个类。当您使用其他DLL时,这种情况会经常发生,这就是为什么我们有名称空间。您确实应该阅读有关名称空间、程序集和完整限定名的内容。谷歌应该让你开始。这应该让你开始:好的…谢谢老兄。。但是你能指出我的错误在哪里吗?是的,我知道了。当两个类具有相同的名称时,您可以使用名称空间来区分。嘿,,,这很有效!谢谢@nunespascal。。。这是我的最终代码:System.Web.UI.WebControls.TextBox subject=System.Web.UI.WebControls.TextBoxDV1.findcontrolsubject作为System.Web.UI.WebControls.TextBox;但是我不知道它为什么工作?你能告诉我吗?如果两个类有相同的名称,.net不知道只使用类名使用哪个类。当您使用其他DLL时,这种情况会经常发生,这就是为什么我们有名称空间。您确实应该阅读有关名称空间、程序集和完整限定名的内容。谷歌应该让你开始。这应该让你开始:好的…谢谢老兄。。但是你能指出我的错误在哪里吗?