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