繁体   English   中英

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

[英]How to get the text value from textbox within a FormView from ascx file in the ascx.cs file

我在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"];

如何获得价值?

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

var value = txtBox1.Text;

好的,我找到了。

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

问题是在FormView控件内部,并且没有id。 myFrmView的ID

直接访问控制:

string text = txtBox1.Text;

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

如果您不能直接使用txtBox1.text访问控件,那么我将检查以确保您的ascx文件指向顶部<%@Page%>部分中文件后面的正确代码。 应该有一个指向您的[file] .ascx.cs的CodeBehind属性。

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

如果我手动重命名一些文件而忘记更新属性后面的代码,则会收到此错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM