我有一个MVC3 Razor表格。它有一个radiobutton列表和一些其他文本字段。当我按提交控制器发布操作时,获取视图模型,其中所有字段都正确设置,但RegionID除外。
型号:
namespace SSHS.Models.RecorderModels
{
public class CreateViewModel
{
...
public int RegionID { get; set; }
...
}
}
控制器:
namespace SSHS.Controllers
{
public class RecorderController : Controller
{
...
public ActionResult Create()
{
EntrantDBEntities db = new EntrantDBEntities();
List Regions = new List(db.Region);
List Schools = new List(db.School);
List Settlements = new List(db.settlement);
CreateViewModel newEntr = new CreateViewModel();
ViewBag.Regions = Regions;
ViewBag.Schools = Schools;
ViewBag.Settlements = Settlements;
return View(newEntr);
}
[HttpPost]
public ActionResult Create(CreateViewModel m)
{
EntrantDBEntities db = new EntrantDBEntities();
Entrant e = new Entrant()
{
FatherName = m.FatherName,
Lastname = m.LastName,
LocalAddress = m.LocalAddress,
Name = m.Name,
RegionID = m.RegionID,
PassportID = m.PassportID,
SchoolID = m.SchoolID,
SettlementID = m.SattlementID,
TaxID = m.TaxID,
};
db.Entrant.AddObject(e);
db.SaveChanges();
return RedirectToAction("Index");
}
}
查看:
@model SSHS.Models.RecorderModels.CreateViewModel
@using SSHS.Models
@using (Html.BeginForm("Create", "Recorder", FormMethod.Post))
{
@foreach (Region item in ViewBag.Regions)
{
@Html.RadioButtonFor(m => m.RegionID, item.RegionID)
@Html.Label(item.RegionName) - @item.RegionID
}
...
...
}
Create(CreateViewModel m)方法从所有文本框中正常获取数据,但RegionID始终为0。
答案 0 :(得分:1)
您打算如何使用int
填充单选按钮?它有两种状态:检查和不检查。你能告诉我们,你想做什么?制作广播组?将bool
用于RadioButtonFor
。
<强>加了:强>
您需要写下这样的内容:CheckboxList in MVC3.0(在您的示例中,您将有单选按钮)