2010-06-07 23 views
0

好的,這對我來說是痛苦的,因爲是的,在經典的ASP日子之後,我一直在爲ASP.NET編碼。我已經失去了常規HTML控件的方式。Radiobutton list auto postback

所以,這是我的場景。

1)我的頁面,普通的舊的HTML按鈕的單選按鈕的列表:

<div id="selectOptions"> 
    <form action="Checkout.aspx" method="post" target="_self"> 
<ul> 
    <li><label><input type="radio" name="rbRewardsSelectionGroup" id="rbtNoRewardOption" checked="checked" value="0" />None</label></li> 

    <li><label><input type="radio" name="rbRewardsSelectionGroup" value='1' />Free Shipping</label></li> 

    <li><label><input type="radio" name="rbRewardsSelectionGroup" value='2' />$100 Store Credit</label></li> 

    <li><label><input type="radio" name="rbRewardsSelectionGroup" value='3' />$250 Store Credit</label></li> 

    <li><label><input type="radio" name="rbRewardsSelectionGroup" value='4' />$500 Stored Credit</label></li> 
</ul> 
    </form> 
</div> 

2)我需要添加一些JavaScript強制回傳,如果這些單選按鈕中的任何一個被選中,即使默認選中單選按鈕

3)我試圖添加一個表單並將其包裝在代碼中。我不知道這是否會起作用,因爲我認爲ASP.NET不會讓你在一個頁面上擁有多個表單......或許這就是每個人的方式?

4)讓我們說它會工作。好吧,我點擊單選按鈕。我發送一個請求到Checkout.aspx,然後在代碼隱藏中,我可以獲取這些數據並執行Request [「rbRewardsSelectionGroup」]以獲取對該單選按鈕組的引用,然後執行我的服務器端值檢查...無論我需要做。

我想我的問題是我正在與我目前的這種設置的方式來解決這個問題嗎?我相信在使用基於ASP.NET的控件之外,我已經瞭解了整體概念,這些控件爲您完成所有這些魔術。

我不想進入爲什麼我沒有使用ASP.NET控件這個特定的代碼。

回答

1

2)使用jQuery,聽收音機按鈕的變化事件,並提交其母公司形式:

$("input[@name='rbRewardsSelectionGroup']").change(function(){ 
    $(this).parents('form').submit(); 
}); 

3)你只能有一個形式中具有runat =「服務器」的ASP屬性。 net

4)是的,使用Request.Form [「rbRewardsSelectiongroup」]來獲取選擇的值。

+0

感謝您驗證這一切。是的,這是runat = server,忘記了......在多個表單問題上。 – PositiveGuy 2010-06-07 21:35:07