C# 如何从ascx.cs文件中的ascx文件的FormView中的textbox获取文本值
我在ascx文件的FormView中有一个asp:文本框,如下所示>C# 如何从ascx.cs文件中的ascx文件的FormView中的textbox获取文本值,c#,asp.net,.net,textbox,C#,Asp.net,.net,Textbox,我在ascx文件的FormView中有一个asp:文本框,如下所示> <asp:FormView runat="server" ID="myFrmView"> <asp:TextBox runat="server" ID="txtBox1" size="20" MaxLength="150" > </FormView> 如何获取值?您不需要使用请求,您应该能够直接访问代码后面的控件,请尝试: var value = txtBox1.Text;
<asp:FormView runat="server" ID="myFrmView">
<asp:TextBox runat="server" ID="txtBox1" size="20" MaxLength="150" >
</FormView>
如何获取值?您不需要使用
请求
,您应该能够直接访问代码后面的控件,请尝试:
var value = txtBox1.Text;
直接访问控制:
string text = txtBox1.Text;
是txtBox1.Text。ASP.NET不会生成与您在标记文件ID中提供的名称相同的HTML元素,也不会引用请求。表单绕过了支持服务器端控件的健壮对象模型。如果无法使用txtBox1.text直接访问控件,然后我会检查以确保您的ascx文件指向顶部部分中的正确代码隐藏文件。应该有一个CodeBehind属性指向[file].ascx.cs 您可能还需要检查以确保ascx.cs中声明的类与designer.cs文件中的类匹配。如果不匹配,designer.cs中的分部类声明将不匹配,并且您将没有控件的属性 如果我手动重命名某些文件并忘记更新代码隐藏属性,则会出现此错误。好,我找到了它
string value = (myFrmView.FindControl("txtBox1") as TextBox).Text;
问题是FormView控件内部没有id.id的myFrmView这将根据发布的值从服务器端获取另一个甜把戏
string name2=Request.Form[txtBox1.UniqueID]代码>Chris_45我建议编辑您的问题。。您在这里留下了许多困惑…没有消息>名称txtBox1在当前上下文中不存在。即使它在ascx文件中并试图进入ascx.cs文件。@Chris_45这意味着您在控件的标记中没有runat=“server”
,或者控件不在
元素中,而runat=“server”
@Chris\u 45就像迈克说的,确保你有runat=“server”看看他的代码..他有runat=“server”“在他的初始帖子中,designer.cs中声明的类名是否与ascx.cs匹配?是的,但我必须更改它,但与>“当前上下文中不存在该名称”相同的错误这是在formview或listview模板中的正确答案。
string value = (myFrmView.FindControl("txtBox1") as TextBox).Text;