关于c#:阅读提交给ASP.Net表格的发布数据

Read Post Data submitted to ASP.Net Form

我在asp.net应用程序中有一个工作登录表单。带有用户名和密码的标准文本框以及用于处理登录的按钮。工作良好。

我有一个新的要求,允许用户从一个单独的普通html页面输入用户名和密码,该页面不是我的asp.net应用程序的一部分。我计划使用标准的html实现这一点 - 表单,输入,提交按钮等。表单操作将是我的asp.net登录页面的URL,其方法将是POST。

我想在asp.net登录表单的C#代码隐藏页面中做什么,可能是在Page_Load事件中,检查页面请求是否包含传入的用户名和密码值。如果是,那么我需要阅读这些值并处理登录,就好像有人点击了asp.net页面上的登录按钮一样。如果没有,那么我将像往常一样显示登录表单。

如何检查页面请求中是否存在和读取用户名和密码值。


阅读Request.Form NameValueCollection并相应地处理您的逻辑:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
NameValueCollection nvc = Request.Form;
string userName, password;
if (!string.IsNullOrEmpty(nvc["txtUserName"]))
{
  userName = nvc["txtUserName"];
}

if (!string.IsNullOrEmpty(nvc["txtPassword"]))
{
  password = nvc["txtPassword"];
}

//Process login
CheckLogin(userName, password);

...其中"txtUserName"和"txtPassword"是发布页面上控件的名称。


1
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }

username是提交页面上输入的名称。 密码可以通过相同的方式获得。 如果它不为null或为空,则存在,然后登录用户(我不记得ASP.NET成员资格的确切步骤,假设你正在使用它)。


1
2
3
4
5
NameValueCollection nvclc = Request.Form;
string   uName= nvclc ["txtUserName"];
string   pswod= nvclc ["txtPassword"];
//try login
CheckLogin(uName, pswod);