使用Asp.net 接收html提交的表单

使用asp.net 接收html静态页面提交的表单时,接受的函数应使用 this.Request.QueryString["userName"],不能使用string userName = this.Request.Form["userName"].ToString(); 后一种方法会提示“未将对象引用设置到对象的实例 ”。

我的代码如下:

html静态页面:

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

<!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 action="Welcome_xhtml.aspx" method="get">
  用户名:
  <input id="userName" name="userName" type="text" style=" 138px" value="myName" />
    密&nbsp;&nbsp;&nbsp;&nbsp;码:
  <input id="password" type="password" name="password"  value="1234"/>&nbsp;<br /><br />
  <input type="submit" id ="submit"  value="登陆" style="100px" />  </form>
</body>
</html>


接收的asp.net 页面:Welcome_xhtml.aspx

protected void Page_Load(object sender, EventArgs e)
    {
       string s=this.Request.QueryString["userName"];
        this.Label1.Text = "Welcome " + s;
    }
注意:这里的html页面虽然是xhtml标准,但input 标记中传递参数的属性必须是name 而不是id,必须包含name 否则生成的url中只有?后面不再有任何参数。

原文地址:https://www.cnblogs.com/Raywang80s/p/2754806.html