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