使用PostBackUrl提交表单的特定部分

时间:2014-10-30 17:50:30

标签: asp.net forms

我有一个ASP.NET webforms应用程序,并且要求将表单添加到页面,该页面将发布到外部URL,即支付处理提供程序。表单需要包含特定的隐藏输入,其中一个是表单数据的散列字符串表示。

我理解给定webforms的限制我不能在主<form runat="server" />中嵌套第二种形式。但是,我没有选择在主表单之外找到我的表单(由于此站点内置于CMS)。

我知道我可以使用带有PostBackUrl属性的ASP.NET Button控件,该属性允许表单发布到特定的URL。但是,这会在页面上发布每个表单元素,包括__VIEWSTATE,__ EVENTTARGET等。

这不是理想的行为。我只想提交具体数据。此外,这使得生成表单的哈希表示变得困难(不可能?),因为这必须包括viewstate等。

我也没有从后面的代码发布数据的选项,因为客户端应该继续在目标URL上进行交互。

我有什么选择吗?这一定是可能的,但互联网搜索的回报很少。

更新:我正在寻找一种不依赖Javascript的解决方案。

2 个答案:

答案 0 :(得分:0)

一种选择是使用ajax。只需使用它来发布您需要的数据,您甚至不需要重定向或任何东西。你可以控制所有的东西(当然,只要用户开启了javascript)。

答案 1 :(得分:0)

您可以使用ajax更新面板。   将asp:scriptManager放在页面

    <asp:scriptManager></asp:scriptManager>

   <asp:updatePanel runat="server">
      <contentTemplate>
              your controls to be submitted to next page   
            <asp:button><asp:button>
      </contentTemplate>
   </asp:updatePanel>

并将其他控件放在updatePanel之外。