阅读后数据提交到ASP.Net窗体
我有一个在asp.net应用程序工作login表单。 标准的东西,用户名和密码文本框和一个button来处理login。 工作正常。
我有一个新的要求,允许用户从一个单独的纯HTML页面input用户名和密码,这是不属于我的asp.net应用程序的一部分。 我打算实现这个使用标准的HTML表单,input,提交button等。表单动作将是我的asp.netlogin页面的URL,其方法将是POST。
我想在asp.netlogin表单的页面背后的C#代码,大概是在Page_Load事件,是要检查页面的请求是否包含一个用户名和密码值被传入。如果这样做,那么我需要读取这些值并处理login,就像有人点击了asp.net页面上的loginbutton一样。 如果不是的话,我会照常显示login表单。
如何检查页面请求中是否存在并读取用户名和密码值。
阅读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"])) { ... }
用户名是提交页面上input的名称。 密码可以用同样的方法获得。 如果它不为空或为空,则存在,然后login到用户(我不记得ASP.NET成员资格的确切步骤,假设这是你正在使用的)。
NameValueCollection nvclc = Request.Form; string uName= nvclc ["txtUserName"]; string pswod= nvclc ["txtPassword"]; //try login CheckLogin(uName, pswod);