如何从ascx.cs文件中的ascx文件中获取FormView中文本框的文本值

时间:2013-02-26 18:07:39

标签: 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>

但在代码隐藏的ascx.cs文件中,我无法从文本框中检索值

string name2 = Request.Form["txtBox1"];

如何获得价值?

5 个答案:

答案 0 :(得分:3)

您不需要使用Request,您应该可以直接在后面的代码中访问控件,尝试:

var value = txtBox1.Text;

答案 1 :(得分:2)

好的,我找到了。

string value = (myFrmView.FindControl("txtBox1") as TextBox).Text;

是什么东西是FormView控件里面没有id。我的myFrmView的ID

答案 2 :(得分:1)

直接访问控制:

string text = txtBox1.Text;

答案 3 :(得分:0)

这是txtBox1.Text。 ASP.NET不会生成与您在标记文件ID中使用相同名称的HTML元素,并且引用Request.Form是支持服务器端控件的健壮对象模型的旁路。

答案 4 :(得分:0)

如果您无法使用txtBox1.text直接访问控件,那么我会检查以确保您的ascx文件指向&lt;%@Page%&gt;中的正确代码隐藏文件。顶部的部分。应该有一个CodeBehind属性指向您的[file] .ascx.cs。

您可能还需要检查以确保ascx.cs中声明的类与designer.cs文件中的类匹配。如果他们不这样做,那么designer.cs中的部分类声明将不匹配,并且您将没有控件的属性。

如果我手动重命名某些文件并忘记更新代码隐藏属性,我将收到此错误。