当前位置:  开发笔记 > 编程语言 > 正文

在ASP.NET中使用嵌入式标准HTML表单

如何解决《在ASP.NET中使用嵌入式标准HTML表单》经验,为你挑选了3个好方法。

我有一个标准的aspx页面,我需要在其中添加另一个标准HTML表单并将其提交到另一个位置(外部站点),但是每当我按下提交按钮时,页面似乎都会回复而不是使用子页面形成行动网址.

模拟下面的表单关系.请注意,在实际部署中,表单将成为母版页布局的内容区域的一部分,因此表单需要从母版页表单独立提交.

    
       
          Untitled Page
       
       
           

brendan.. 10

这是一个有趣的问题.理想情况下,您只需要其他用户提到的页面上的1表单标记.您可以通过javascript发布数据而无需2个表单标记.

从这里取的示例,根据您的需要进行了修改.不是100%肯定这是否适合你,但我认为这是你必须接近它的方式.



Untitled Page



如果javascript不是一个可行的选项 - 你可以使用.Net的HttpWebRequest对象在后面的代码中创建post调用.在后面的代码中看起来像这样(假设你的文本字段是一个asp文本框:

private void OnSubscribeClick(object sender, System.EventArgs e)
{
string field1 = Field1.Text;


ASCIIEncoding encoding=new ASCIIEncoding();
string postData="field1="+field1 ;
byte[]  data = encoding.GetBytes(postData);

// Prepare web request...
HttpWebRequest myRequest =
  (HttpWebRequest)WebRequest.Create("http://someotherwebsite/");
myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream=myRequest.GetRequestStream();
// Send the data.
newStream.Write(data,0,data.Length);
newStream.Close();
}


小智.. 7

如果向表单添加ASP.NET按钮,并将其PostBackUrl属性设置为外部站点,则所有表单数据都将发布到该URL.



1> brendan..:

这是一个有趣的问题.理想情况下,您只需要其他用户提到的页面上的1表单标记.您可以通过javascript发布数据而无需2个表单标记.

从这里取的示例,根据您的需要进行了修改.不是100%肯定这是否适合你,但我认为这是你必须接近它的方式.



Untitled Page



如果javascript不是一个可行的选项 - 你可以使用.Net的HttpWebRequest对象在后面的代码中创建post调用.在后面的代码中看起来像这样(假设你的文本字段是一个asp文本框:

private void OnSubscribeClick(object sender, System.EventArgs e)
{
string field1 = Field1.Text;


ASCIIEncoding encoding=new ASCIIEncoding();
string postData="field1="+field1 ;
byte[]  data = encoding.GetBytes(postData);

// Prepare web request...
HttpWebRequest myRequest =
  (HttpWebRequest)WebRequest.Create("http://someotherwebsite/");
myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream=myRequest.GetRequestStream();
// Send the data.
newStream.Write(data,0,data.Length);
newStream.Close();
}



2> 小智..:

如果向表单添加ASP.NET按钮,并将其PostBackUrl属性设置为外部站点,则所有表单数据都将发布到该URL.



3> 小智..:

对于这个问题,有一个非常好的棘手解决方案.

您可以

关闭导致问题的asp.net表单之前插入标记.不要忘记在html表单后添加标记.它可能会导致编辑器给你一个例外,但不要担心,它会起作用.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有