Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET中从内容页获取表单值_C#_Asp.net_Webforms_Master Pages - Fatal编程技术网

C# 如何在ASP.NET中从内容页获取表单值

C# 如何在ASP.NET中从内容页获取表单值,c#,asp.net,webforms,master-pages,C#,Asp.net,Webforms,Master Pages,我有一个母版页,其中有一行和一个内容占位符 我正在尝试使用此母版页创建内容页,其中包含文本框。但我无法使用该内容页面中的Request.Form[“textbox”]来获取这些文本框的值。我需要使用Request.Form[“ctl00$ContentPlaceHolder1$textbox”] 这是正常的做法吗?如果不是,我做错了什么 顺便说一下,我使用相同的内容页来处理表单值 因此,我想我的问题实际上是:如何在同一内容页中访问内容页的表单值?假设您有标准的ASP.Net控件,您可以使用 Di

我有一个母版页,其中有一行
和一个内容占位符

我正在尝试使用此母版页创建内容页,其中包含文本框。但我无法使用该内容页面中的
Request.Form[“textbox”]
来获取这些文本框的值。我需要使用
Request.Form[“ctl00$ContentPlaceHolder1$textbox”]

这是正常的做法吗?如果不是,我做错了什么

顺便说一下,我使用相同的内容页来处理表单值


因此,我想我的问题实际上是:如何在同一内容页中访问内容页的表单值?

假设您有标准的ASP.Net控件,您可以使用

Dim x as string = Me.txtMyTextBox.Text
如果你想在脚本中使用它,它是非常相似的

<%

Dim x as string = Me.txtMyTextBox.Text

%>


您不需要使用Request.Form,因为这些控件的值保存在页面的ViewState中。

您可以使这些控件可访问,将它们从设计器中取出,并在母版页的代码隐藏文件中公开:

public MyMasterPageClass 
{
  public TextBox textbox;
}
要在内容页中访问它,请执行以下操作:

var text = ((MyMasterPageClass )Master).textbox.Text;
或者,在contentpage的标记中使用:


您可以创建一个usercontrol(包含文本框),然后向该控件添加一个公共属性,该属性返回文本框的字符串值。使用此用户控件替换母版页上的文本框,然后您可以从任何内容页获取属性。

使用ASP.NET,您实际上不应该知道或关心HTTP请求和发布的表单值。该框架封装了这些内容,允许您在Windows GUI环境中将
TextBox
作为组件处理

在代码中,您可以使用其
Text
属性获取和设置其值:

string whatsInThatBox = myTextBox.Text;
myTextBoxText = "Now, let's write something else here...";

通常,如果需要添加引用元素的客户端代码,您应该只关心呈现的
元素的神秘名称和ID。

谢谢。下一次我将尝试模拟windows窗体的web窗体。我的想法仍然是HTML术语。@ PROSTROUS:如果你已经知道HTML和HTTP,你可能想把ASP.NET MVC看作是Web表单的替代品。
var text = Master.textbox.Text;
string whatsInThatBox = myTextBox.Text;
myTextBoxText = "Now, let's write something else here...";