C# 动作属性
我想将表单数据发送到代码下方的aspx.cs页面视图 但产生了以下错误:对象引用未设置为对象的实例 请引导我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
<%@ 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的问题。不过,你可以将此作为评论发布。