如何将表单从HTML页面发布到ASPX页面(2.0),并能够读取值?
我目前有一个使用会员资格提供者的ASP.NET网站,一切都正常。用户可以从Login.aspx页面登录。
我们现在希望能够让用户直接从另一个网站登录 – 这基本上是一个静态的HTML页面。用户需要能够在这个HTML页面上输入他们的名字和密码,并将其POST到我的Login.aspx页面(然后我可以手动登录)。
是否可以将表单值从HTML传递给ASPX?我已经尝试过一切,Request.Form.Keys集合总是空的。我不能使用HTTP GET,因为这些是凭据,不能在查询字符串上传递。
我知道的唯一方法是一个iframe。
解决方法
这是非常可能的。我嘲笑3页,应该给你一个概念证明:
.aspx页面:
<form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox TextMode="password" ID="TextBox2" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" /> </div> </form>
代码背后:
Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs) Handles Me.Load For Each s As String In Request.Form.AllKeys Response.Write(s & ": " & Request.Form(s) & "<br />") Next End Sub
单独的HTML页面:
<form action="http://localhost/MyTestApp/Default.aspx" method="post"> <input name="TextBox1" type="text" value="" id="TextBox1" /> <input name="TextBox2" type="password" id="TextBox2" /> <input type="submit" name="Button1" value="Button" id="Button1" /> </form>
…而且反映了预期的形式价值。如果这不起作用,如其他人建议的那样,使用流量分析工具(fiddler,ethereal),因为可能不会在你所期望的地方。