【发布时间】:2020-03-11 02:17:14
【问题描述】:
我正在使用 razor 生成单选按钮。但是,当我提交时,传递的值是
System.Web.Mvc.SelectList
而不是像"1234" 这样的实际字符串值(这是我所期望的)
这是我的html代码
@foreach (var lists in ViewBag.Lists)
{
<span class="nowrap">
@Html.RadioButtonFor(m => m.Lists, (SelectList)ViewBag.Lists, new { id = "list" + lists.Value)
<label for="list@(lists.Value)" style="color:#808080;font-weight:100">@lists.Text</label>
</span>
}
我尝试用lists.Value 替换(SelectList)ViewBag.Lists,但它会用
错误 CS1929 'HtmlHelper' 不包含 'RadioButtonFor' 和最好的扩展方法重载 'InputExtensions.RadioButtonFor(HtmlHelper, Expression>, object, object)' 需要一个 'HtmlHelper' 类型的接收者
这里是存储库方法
public SelectList GetListsByLocation(int locationId)
{
using (var ctx = new V4Entities())
{
var query = (from l in ctx.FooBarConfig
where l.IsActive
where l.LocationId == locationId
orderby l.ServiceTypeId, l.Name
select l);
return new SelectList(query.ToList(), "UplistConfigId", "Name");
}
}
这是在页面的控制器方法中分配的。
ViewBag.Lists = _upListConfigRepo.GetListsByLocation(TnuSession.Current.LocationId);
我的问题是,我应该为 Html.RadioButtonFor 的第二个参数传递什么参数,以便在提交时收到正确的值?
【问题讨论】:
标签: c# html asp.net-mvc razor