RadioButtonList только для чтения в ASP.NET 2005 - PullRequest
0 голосов
/ 25 августа 2010

Я пытаюсь отобразить ответы в определенном опросе, точно так же, как опрошенный просматривал исходный опрос.Однако при просмотре я не хочу, чтобы браузер разрешал изменение выбранных параметров в RadioButtonList.Есть ли способ сделать RadioButtonList доступным только для чтения, без использования radioButtonList1.Enabled = false?

Я попытался создать подкласс RadioButtonList и добавить к нему атрибут Fixed, который позволяет изменять выбранное значение только при Fixed = false, но это не мешает пользователю изменять значения;он только возвращает его к исходному значению, если RadioButtonList имеет AutoPostBack = true, и я хочу вообще не использовать обратные передачи.

Я рассмотрел использование графики для выбранной / невыбранной радиокнопки и кодирование ее докак чистый HTML, строка и связка, но я надеюсь, что есть лучший способ.Есть идеи?

Ответы [ 2 ]

1 голос
/ 25 августа 2010

Если вы отключите переключатели, они будут выделены серым цветом, и форма не будет выглядеть так же, как оригинал.

В качестве замены «отключить», вы можете сделать так, чтобы JavaScript восстановил значение, еслиПользователь пытается изменить это.Обработчик нажатия jQuery обрабатывает выбор клавиатуры и мыши:

    <script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
    <script type="text/javascript">
        $(function(){ 
            //save list of checked radio buttons
            var checked = $('table input:radio:checked'); 

            $("table input:radio").click(function() { 
                //go through list and re-check initial checks
                $.each(checked, function() { 
                    this.checked=true; 
                }); 
            });

        }); 

    </script>
    <asp:RadioButtonList runat="server" ID="rbl" >
        <asp:ListItem Text="Item1" />
        <asp:ListItem Text="Item2" Selected="True"  />
        <asp:ListItem Text="Item3"  />            
    </asp:RadioButtonList>
0 голосов
/ 22 марта 2013

Просто используйте код как показано ниже

  <script type="text/javascript">
    $(function(){ 
        $("#rbl input:radio").attr("disabled", "true");

    }); 

</script>
<asp:RadioButtonList runat="server" ID="rbl" >
    <asp:ListItem Text="Item1" />
    <asp:ListItem Text="Item2" Selected="True"  />
    <asp:ListItem Text="Item3"  />            
</asp:RadioButtonList>
...