阅读提交至 ASP.Net 表格的邮件数据

我在 asp.net 应用程序中有一个可用的登录表单。标准的东西与用户名和密码文本框和一个按钮来处理登录。没问题。

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

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

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

230741 次浏览
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }

username is the name of the input on the submitting page. The password can be obtained the same way. If its not null or empty, it exists, then log in the user (I don't recall the exact steps for ASP.NET Membership, assuming that's what you're using).

Read the Request.Form NameValueCollection and process your logic accordingly:

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);

... where "txtUserName" and "txtPassword" are the Names of the controls on the posting page.

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