我查看列表数据,我想编辑一些字段 example as image, list view data, and edit it
我有一个字段(例如:choosed_value,其值为1,2,3,4,5) 在视图中,我使用radiobutton从choosed_value获取值, 但是当我提交保存时,我无法从radiobutton中选择价值, 字段'内容'保存确定,字段' choosed_value'不救。
我的代码
在视图中
查看radiobutton
@for (int j = 1; j <= 5; j++)
{
<td>
@Html.RadioButton(Model[i].ID.ToString(), Model[i].choosed_value,Model[i].choosed_value == j) ? true : false )
</td>
}
如果choosed_value = 1,则radiobutton值为1,checked = true
控制器中的
[HttpPost]
public ActionResult Index(List<Content> contents)
{
DEMOEntities DbContent = new DEMOEntities();
foreach (Content cont in contents)
{
Content Existed_Cont = DbContent.Contents.Find(cont.ID);
Existed_Cont.Content = cont.Content;
Existed_Cont.choosed_value = cont.choosed_value;
}
DbContent.SaveChanges();
}
请帮帮我......
答案 0 :(得分:0)
我认为您的radiobutton名称不正确(Html.RadioButton的第一个参数)。 浏览器中的结果输入名称不应该是ID,它应该像[0] .choosed_value一样在POST上进行正确的模型绑定。
@for (int j = 1; j <= 5; j++)
{
<td>
@Html.RadioButtonFor(x => Model[i].choosed_value, ...)
</td>
}
而不是
@for (int j = 1; j <= 5; j++)
{
<td>
@Html.RadioButton(Model[i].ID.ToString(), Model[i].choosed_value,Model[i].choosed_value == j) ? true : false )
</td>
}
答案 1 :(得分:0)
使用浏览器开发工具查看实际传递给控制器的数据。应该有一些名称为&#39; contents&#39;或模型绑定器无法拾取它们。
答案 2 :(得分:0)
首先,我们不应该直接从action方法调用数据库。
现在,您的ViewModel列表应该是List<SelectListItem>
类型,这样您就可以直接获得“选定”项目的值。