C# 动作属性

C# 动作属性,c#,asp.net,C#,Asp.net,我想将表单数据发送到代码下方的aspx.cs页面视图 但产生了以下错误:对象引用未设置为对象的实例 请引导我 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org

我想将表单数据发送到代码下方的aspx.cs页面视图

但产生了以下错误:对象引用未设置为对象的实例

请引导我

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>



 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


 <html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

  <title></title>

  </head>

<body>

 <form id="form1" runat="server" method="post" action="Default2.aspx">

<input id="Text1" type="text" value="dgfdh"  runat="server" name="Text1"/>
</form>
</body>

</html>

当您第一次运行页面时,还没有表单(aspx端是在运行cs部件之后创建的),因此
Request.form
还没有字段

由于表单的值仅在提交时发送(例如,当单击“提交”按钮时),您应将您的作业置于一个条件下,以检查我们是否在提交时到达页面:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack){
         TextBox1.Text = Request.Form["Text1"].ToString();
    }

}

当您第一次运行页面时,还没有表单(aspx端是在运行cs部件之后创建的),因此
Request.form
还没有字段

由于表单的值仅在提交时发送(例如,当单击“提交”按钮时),您应将您的作业置于一个条件下,以检查我们是否在提交时到达页面:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack){
         TextBox1.Text = Request.Form["Text1"].ToString();
    }

}

当您第一次加载页面时,还不会有任何表单值,因为没有从客户端发送任何表单值。因此
Request.Form[“Text1”]
将为空

也许你应该先查看
页面。IsPostBack
?当然,理想情况下,在使用表单值之前,您应该始终验证是否已经获得了所需的所有表单值

但不清楚为什么要首先调用
ToString()
——表达式
Request.Form[“Text1”]
已经是字符串了,不是吗?你就不能用:

TextBox1.Text = Request.Form["Text1"];
但是,如果将
Text
属性设置为null,则应该检查会发生什么情况。您可以始终使用空合并运算符来修复此问题:

TextBox1.Text = Request.Form["Text1"] ?? "";

当您第一次加载页面时,还不会有任何表单值,因为没有从客户端发送任何表单值。因此
Request.Form[“Text1”]
将为空

也许你应该先查看
页面。IsPostBack
?当然,理想情况下,在使用表单值之前,您应该始终验证是否已经获得了所需的所有表单值

但不清楚为什么要首先调用
ToString()
——表达式
Request.Form[“Text1”]
已经是字符串了,不是吗?你就不能用:

TextBox1.Text = Request.Form["Text1"];
但是,如果将
Text
属性设置为null,则应该检查会发生什么情况。您可以始终使用空合并运算符来修复此问题:

TextBox1.Text = Request.Form["Text1"] ?? "";

作为您的设计视图,我没有看到任何ID为
TextBox1
的控件,因此请先创建一个ID为以下的控件,然后选择

TextBox1.Text = Request.Form["Text1"].ToString();
你也可以这样做

protected void Page_Load(object sender, EventArgs e)
{
    TextBox TextBox1=new TextBox();

    TextBox1.Text = Request.Form["Text1"].ToString();

}

作为您的设计视图,我没有看到任何ID为
TextBox1
的控件,因此请先创建一个ID为以下的控件,然后选择

TextBox1.Text = Request.Form["Text1"].ToString();
你也可以这样做

protected void Page_Load(object sender, EventArgs e)
{
    TextBox TextBox1=new TextBox();

    TextBox1.Text = Request.Form["Text1"].ToString();

}

您是否尝试列出请求的内容。表单?您是否尝试列出请求的内容。表单?@Saba,很高兴能够提供帮助:-)。另见Jon Skeet的回答。他在那里也有有用的信息。@Saba,很高兴能帮上忙:-)。另见Jon Skeet的回答。他那里也有有用的信息。虽然你说的看起来是真的,但那不是OP的问题。不过,你可以将此作为评论发布。虽然你所说的看起来是真的,但这不是OP的问题。不过,你可以将此作为评论发布。