2011-11-11 78 views
2

我正在开发一个使用asp.net c#的网站,我想在页面中放置一个表单。现在aspx页面有表单标签,我不想在这里嵌套另一个表单,因为它会使我的html无效。但我需要这种形式来使用GET而不是POST。我知道我可以更改asp:按钮中的回发网址。这可以在没有使用逻辑的情况下完成吗?postbackurl使用get而不是post

  1. 更改方法得到的只是对这种形式并不在页面上
  2. 改变每一件事情的目标_blank如果可能的话。

在我想要的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> 

回答

0

你可以使用jQuery来完成这个

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

上面的代码中,当id为 'buttonId' 按钮被点击火灾。它改变ID为'formId'的表单的方法属性。

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对象在页面代码中管理它们。