2012-05-11 16 views
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> 
} 

答えて

1

あなたのカルチャ変数が "en-us"または "es-es"のいずれかに等しい場合は、すでに動作している必要があります。私はそれがあなたの考えと同じだとは思わない。お試しいただけます

<input name="culture" id="testing" value="testing" type="radio" @selected("testing","testing") /> 

あなたが持っているものをテストしてください。私は強く型付けされたビュー

public class YourViewModel 
{ 
    public string Culture { get; set; } 
    // Other properties 
} 

@model YourViewModel 

@*Rest of view*@ 

@Html.RadioButtonFor(m => m.Culture, "en-us") 
@Html.RadioButtonFor(m => m.Culture, "es-us") 
RadioButtonFor方法を使用することをお勧めしたいと述べた

関連する問題