我在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"];
如何获得价值?
答案 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中的部分类声明将不匹配,并且您将没有控件的属性。
如果我手动重命名某些文件并忘记更新代码隐藏属性,我将收到此错误。