2011-11-11 122 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對象在頁面代碼中管理它們。