0

@helper メソッドの "culture" 変数に設定されているカルチャに基づいて、ラジオ ボタンをチェックしたいと考えています。デバッグ中に、変数が設定されていることがわかります。英語またはスペイン語のラジオ ボタンをチェックしていないだけです。

以下のコードに基づいてこれを行う方法を誰かに教えてもらえますか、またはコードのより簡単な方法があれば、それも問題ありません。MVC 3 Razor を使用しています。

@helper selected(string c, string culture)
    {
        if (c == culture)
        {
            @:checked="checked"
        }  
    }

<script type="text/javascript">
    $(function () {
        $("input[type='radio']").click(function () {
            $(this).parents("form").submit();
        });

        // highlight selected language
        $("input[type='radio']:checked").next().css("font-weight", "bold");
    });
</script>

@using (Ajax.BeginForm("SetCulture", "Home", new AjaxOptions { UpdateTargetId = "setCulture" }))
{
    <fieldset id="setCulture">
        <legend>@Resources.SelectCulture</legend>
        <input name="culture" id="en-us" value="en-us" type="radio" @selected("en-us", culture) />
        <label for="en-us">
            English</label>
        <br />
        <input name="culture" id="es-es" value="es-es" type="radio" @selected("es-es", culture) />
        <label for="es-es">
            Español</label>
        <br />
    </fieldset>
}
4

1 に答える 1