我想根据@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>
}
答案 0 :(得分:1)
如果你的文化变量等于“en-us”或“es-es”你已经应该工作的那些。我不认为它等于你的想法。你可以试试
<input name="culture" id="testing" value="testing" type="radio" @selected("testing","testing") />
测试你拥有的东西。
那就是说我建议将RadioButtonFor
方法与强类型视图一起使用
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")