将.Net表单数据动态地发布到经典的asp页面

时间:2015-03-02 20:18:05

标签: javascript asp.net forms asp-classic

我被要求在工作中研究这个问题,但我没有找到任何有用的东西。我知道这是一种提交数据的糟糕方法,但在完全重建之前,这是一个快速的解决方法。

我有一个.aspx页面,可以在表单提交上进行一些自定义验证。如果这通过了验证,我想将表单提交到经典的.asp页面并检索表单值。我试图通过javascript做到这一点,但那是不成功的。

基本上将.asp页面绑定到表单操作并提交它。喜欢的东西;

If success = true then
    Dim script As String = "<script>document.forms[0].action='/d_form/Email_BOS_FormConfirm_NET.asp';"
    script += "document.forms[0].submit();"
    script += "</script"
    script += ">"
    ClientScript.RegisterClientScriptBlock(Me.[GetType](), "postform", script)  
End If

这不是我的格式,只是我给予的工作,这个帖子发布到动作中的表单,但是我无法从request.form()方法中检索任何数据。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在检查后发布值如下:

string remoteUrl = "http://your/url/of/classic.asp";

string firstName = "Luke";

string lastName = "Skywalker";



ASCIIEncoding encoding = new ASCIIEncoding();

string data = string.Format("FirstName={0}&LastName={1}", firstName, lastName);

byte[] bytes = encoding.GetBytes(data);

HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(remoteUrl);

httpRequest.Method = "POST";

httpRequest.ContentType = "application/x-www-form-urlencoded";

httpRequest.ContentLength = bytes.Length;

using (Stream stream = httpRequest.GetRequestStream())

{

    stream.Write(bytes, 0, bytes.Length);

    stream.Close();

}