2017-05-14 21 views
0

我有一個帶有三個單選按鈕的引導按鈕組。我也有一個隱藏的字段,所以我可以在我的代碼中獲取選定的值。對於按鈕的代碼是:引導ASP.Net按鈕組保留回發的值

<div class="btn-group" data-toggle="buttons" id="parentofit"> 
    <asp:HiddenField ID="hidValue" runat="server" Value="Beginning" /> 
    <label class="btn btn-primary" id="label1" runat="server"> 
     <input type="radio" name="options" id="option1" runat="server"> 
     Radio 1 
    </label> 
    <label class="btn btn-primary" id="label2" runat="server"> 
     <input type="radio" name="options" id="option2" runat="server"> 
     Radio 2 
    </label> 
    <label class="btn btn-primary" id="label3" runat="server"> 
     <input type="radio" name="options" id="option3" runat="server"> 
     Radio 3 
    </label> 
</div> 

我也有JavaScript設置隱藏字段:

$(document).ready(function() { 
    $('.btn').click(function() { 
     var parent = '#' + $(this).parent().attr('id'); 
     $(parent).find('input').val($(this).text()); 
     $(this).addClass("active").siblings().removeClass("active"); 
    }); 

當我提交頁面,隱藏字段具有正確的價值。當頁面重新加載時,按鈕組被重置回第一個字段。

如何在回發中保留價值?如何最初以編程方式設置該值?

TIA

傑夫

+0

如何使用RadioButton服務器控件而不是html控件? – hardkoded

+0

我試過了。仍然有同樣的事情。我可以將單選按鈕設置爲在page_prerender中選中,但它看起來就像其他按鈕一樣。 另外 - 如果你看看他們已經在服務器上運行的輸入。 –

回答

0

你能趕上POST表單數據和頁面加載手動設置單選按鈕值。

if (Page.IsPostBack && Request.Form["options"] != null) 
{ 
    HtmlInputRadioButton hirb = new HtmlInputRadioButton(); 
    hirb.Value = Request.Form["options"]; 
} 

更復雜的解決方案是創建自己的控制適配器來覆蓋單選按鈕的設計。

+0

謝謝。但按鈕不會被設置。我可以保存該值,但顯示按鈕會重置。 –

+0

你是否在代碼中設置了值?如果是的話確保你在if(Page.IsPostBack == false){//設置數據在這裏}這樣做' – VDWWD

+0

我已經試過設置單選按鈕並設置隱藏字段。看起來好像每次有回傳按鈕都會重置。 –