Bootstrap ASP.Net按钮组在回发时保留值

时间:2017-05-14 15:48:11

标签: javascript c# asp.net twitter-bootstrap

我有一个带三个单选按钮的Bootstrap按钮组。我还有一个隐藏字段,所以我可以在我的代码中获取所选值。按钮的代码是:

<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

杰夫

1 个答案:

答案 0 :(得分:0)

您可以捕获Form Post数据并在页面加载中手动设置radiobutton值。

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

更复杂的解决方案是创建自己的控制适配器,以覆盖无线电按钮的设计。