我在asp.net应用程序中有一个工作登录表单。带有用户名和密码的标准文本框以及用于处理登录的按钮。工作正常。
我有一个新的要求,允许用户从一个不属于我的asp.net应用程序的单独的普通html页面输入用户名和密码。我计划使用标准的html实现这一点 - 表单,输入,提交按钮等。表单操作将是我的asp.net登录页面的URL,其方法将是POST。
我想在asp.net登录表单的C#代码隐藏页面中做什么,可能是在Page_Load事件中,检查页面请求是否包含传入的用户名和密码值。如果是然后我需要读取这些值并处理登录,就像有人点击了asp.net页面上的登录按钮一样。如果没有,那么我将像往常一样显示登录表单。
如何检查页面请求中是否存在和读取用户名和密码值。
答案 0 :(得分:145)
阅读Request.Form NameValueCollection并相应地处理您的逻辑:
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 :(得分:13)
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }
username是提交页面上输入的名称。密码可以通过相同的方式获得。如果它不为null或为空,则存在,然后登录用户(我不记得ASP.NET成员资格的确切步骤,假设这是您正在使用的内容)。
答案 2 :(得分:3)
NameValueCollection nvclc = Request.Form;
string uName= nvclc ["txtUserName"];
string pswod= nvclc ["txtPassword"];
//try login
CheckLogin(uName, pswod);