postbackurl使用get而不是post

时间:2011-11-11 08:20:56

标签: c# asp.net forms get postbackurl

我正在使用asp.net c#开发一个网站,我想在页面中放一个表单。既然aspx页面有form标签,我不想在其中嵌套另一个表单,因为它会使我的html无效。但我需要这个表单来使用GET而不是POST。我知道我可以在asp:按钮中更改回发网址。这可以在不使用密码背后的逻辑的情况下完成吗?

  1. 仅针对此表单将方法更改为GET而不是页面上的所有内容
  2. 如果可能,将目标更改为_blank。
  3. html中我想要的例子。

    <form action="http://maps.google.co.uk/maps" method="get">
    <p><label for="saddr">Your postcode</label>
    <input type="text" name="saddr" id="saddr" value="" />
    <input type="submit" value="Go" />
    <input type="hidden" name="daddr" value="[destination]" />
    <input type="hidden" name="hl" value="en" /></p>
    </form>
    

2 个答案:

答案 0 :(得分:0)

你可以使用jquery来完成这个

$(document).ready(function() {
 $("#buttonId").click(function() {
   $("#formId").attr("method", "get");
 });
});

上面的代码段会在点击ID为“buttonId”的按钮时触发。它使用id'formId'

更改表单的method属性

答案 1 :(得分:0)

您可以在html中拥有多个表单。 ASP.NET页面还支持多个表单标记,但是其中只有一个可以是服务器端表单(runat =“server”)。

因此我建议您在页面中添加另一个表单标记 - 有些像

...
<body>
  <form runat="server">
    ... server controls etc

  </form>
  <!-- your form -->
  <form action="http://maps.google.co.uk/maps" method="get">
    <p><label for="saddr">Your postcode</label>
    <input type="text" name="saddr" id="saddr" value="" />
    <input type="submit" value="Go" />
    <input type="hidden" name="daddr" value="[destination]" />
    <input type="hidden" name="hl" value="en" /></p>
  </form>
</body>
</html>

请注意,您不能在html标记中放置任何服务器端控件。所以你必须使用html控件并使用Request对象在页面代码中管理它们。