如何使用@ Html.TextBoxFor的用户输入设置@ Html.RadioButtonFor的值?

时间:2012-07-18 21:19:56

标签: c# javascript razor

我有一个剃须刀@ Html.RadioButtonFor,它取自@ Html.TextBoxFor值的值:

@Html.RadioButtonFor(m => m.Sms, document.getElementById('@(Model.Phone)').value, new { Id = Model.Sms })

问题在于

document.getElementById('@(Model.Phone)').value

是一个JavaScript代码,在这个上下文中是incorect,但我不知道如何重写相同的代码,所以它是正确的。

1 个答案:

答案 0 :(得分:2)

保罗,我不得不另辟蹊径:从文本框onChange设置无线电值。

检查出来:

@model string
<!DOCTYPE html>
<html>
    <head>
        <title>ViewA</title>
        <script type="text/javascript">
            function changeRadioValue(newValue) {
                var radio = document.getElementById('idRadio');
                if (radio != null) {
                    radio.value = newValue;
                }
                else {
                    //do nothing?
                }
            }
        </script>
    </head>
    <body>
        <div>
            @Html.TextBox("theTextBox", Model, new { id = Model, onChange = "changeRadioValue(this.value)" })
            @Html.RadioButton("radio", "Default radio value", new { id = "idRadio", onClick="alert(this.value)" })
        </div>
    </body>
</html>

广播onClick仅用于调试。

希望这有帮助

此致