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

本文介绍如何在ASP.NET中正确接收HTML静态页面提交的GET请求表单数据,避免因错误使用Request对象而导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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="width: 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="width: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中只有?后面不再有任何参数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值