Html.RadioButtonFor 的问题
Issue with Html.RadioButtonFor
我有以下内容 class,我正在尝试将其连接到单选按钮
public class ProductFilter
{
public bool Tubs { get; set; }
public bool Packs { get; set; }
}
我在视图中使用它
<div class="row col-lg-12" id="filters">
<div class="col-lg-4 text-right">
@Html.RadioButtonFor(model => model.Filter.Tubs, true) Tubs
</div>
<div class="col-lg-4"></div>
<div class="col-lg-4 text-left">
@Html.RadioButtonFor(model => model.Filter.Packs, true) Packs
</div>
</div>
现在,当页面加载时,我 select 说 tubs 它回发到控制器并且我能够过滤,当页面重新加载并且我 select 打包它回发但是两者的值相同,我希望 tubs 是假的,因为我有 selected 包,反之亦然,有人能指出我做错了什么吗?
您似乎想根据值 "Tubs" 或 "Packs" 进行过滤,在这种情况下,您的模型是错误的。您需要一个 属性 来回发这些字符串中的任何一个,例如
public string Filter { get; set; }
public List<string> FilterList { get; set; }
并在控制器中
model.FilterList = new List<string>() { "Tubs", "Packs" };
model.Filter = "Tubs"; // set default
并在视图中
@foreach(var option in Model.FilterList)
{
<label>
@Html.DropDownListFor(m => m.Filter, option, new { id = option })
<span>@option</span>
</label>
}
这将生成 2 个单选按钮 name="Filter"
,值为 value="Tubs"
和 value="Packs"
,并且只允许选择一个。
或者,您可以使用枚举作为过滤器值。
我有以下内容 class,我正在尝试将其连接到单选按钮
public class ProductFilter
{
public bool Tubs { get; set; }
public bool Packs { get; set; }
}
我在视图中使用它
<div class="row col-lg-12" id="filters">
<div class="col-lg-4 text-right">
@Html.RadioButtonFor(model => model.Filter.Tubs, true) Tubs
</div>
<div class="col-lg-4"></div>
<div class="col-lg-4 text-left">
@Html.RadioButtonFor(model => model.Filter.Packs, true) Packs
</div>
</div>
现在,当页面加载时,我 select 说 tubs 它回发到控制器并且我能够过滤,当页面重新加载并且我 select 打包它回发但是两者的值相同,我希望 tubs 是假的,因为我有 selected 包,反之亦然,有人能指出我做错了什么吗?
您似乎想根据值 "Tubs" 或 "Packs" 进行过滤,在这种情况下,您的模型是错误的。您需要一个 属性 来回发这些字符串中的任何一个,例如
public string Filter { get; set; }
public List<string> FilterList { get; set; }
并在控制器中
model.FilterList = new List<string>() { "Tubs", "Packs" };
model.Filter = "Tubs"; // set default
并在视图中
@foreach(var option in Model.FilterList)
{
<label>
@Html.DropDownListFor(m => m.Filter, option, new { id = option })
<span>@option</span>
</label>
}
这将生成 2 个单选按钮 name="Filter"
,值为 value="Tubs"
和 value="Packs"
,并且只允许选择一个。
或者,您可以使用枚举作为过滤器值。