dig*_*uru 5 forms asp.net post get asp-classic
我想将一些表单变量发布到经典的ASP页面中.我不想改变经典的ASP页面,因为需要完成大量的工作,以及消耗它们的页面数量.
传统的ASP页面要求将表单变量Username和Userpassword提交给它们.
username = Request.Form("UserName")
userpassword = Request.Form("Userpassword")
Run Code Online (Sandbox Code Playgroud)
然后它执行各种操作并设置会话,进入ASP应用程序.
我想将这些变量从ASP.NET提交到页面中,但登录控件嵌套在usercontrols和templates中,因此我无法将表单元素的名称设置为"username"和"UserPassword".
有任何想法吗?
你不能真正“转发”帖子,就像你想做的那样(在你的OP中)。客户端必须向您的 ASP 页面发起 POST(第二篇文章中的代码正在执行此操作)。
这是您自己回复中的自我发布代码,以便您可以像您建议的那样标记答案:
public class RemotePost{
private System.Collections.Specialized.NameValueCollection Inputs
= new System.Collections.Specialized.NameValueCollection() ;
public string Url = "" ;
public string Method = "post" ;
public string FormName = "form1" ;
public void Add( string name, string value ){
Inputs.Add(name, value ) ;
}
public void Post(){
System.Web.HttpContext.Current.Response.Clear() ;
System.Web.HttpContext.Current.Response.Write( "<html><head>" ) ;
System.Web.HttpContext.Current.Response.Write( string .Format( "</head><body onload=\"document.{0}.submit()\">" ,FormName)) ;
System.Web.HttpContext.Current.Response.Write( string .Format( "<form name=\"{0}\" method=\"{1}\" action=\"{2}\" >" ,
FormName,Method,Url)) ;
for ( int i = 0 ; i< Inputs.Keys.Count ; i++){
System.Web.HttpContext.Current.Response.Write( string .Format( "<input name=\"{0}\" type=\"hidden\" value=\"{1}\">" ,Inputs.Keys[i],Inputs[Inputs.Keys[i]])) ;
}
System.Web.HttpContext.Current.Response.Write( "</form>" ) ;
System.Web.HttpContext.Current.Response.Write( "</body></html>" ) ;
System.Web.HttpContext.Current.Response.End() ;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8598 次 |
| 最近记录: |