2012-09-20 32 views
1

我有一個MVC3剃刀形式。它有一個單選按鈕列表和一些其他文本字段。當我按提交控制器後操作獲取視圖模型,其中所有字段正確佈局,除RegionID。MVC3 RadioButtonFor的值沒有綁定到模型

型號:

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 
      
     } 
    
      ... 
      ...  
    
    }

的創建(CreateViewModel m)方法通常從所有文本框獲取數據,但RegionID始終爲0.

+0

單選按鈕用於真/假狀態。根據你的情況你可能使用了選擇列表。嘗試在[HttpPost] Create方法中檢查請求[「YourRegionRadioId」],如果它有任何值。 – 2012-09-20 08:21:27

+0

請求[「RegionSelect」]未設置爲對象的實例 – RazorRunner

+0

現在嘗試使用選擇列表 – RazorRunner

回答

1

您打算如何填寫單選按鈕int?它有兩個狀態:檢查與否。你能告訴我們,你想做什麼?製作廣播組?使用boolRadioButtonFor

補充:

你需要寫是這樣的:CheckboxList in MVC3.0(在你的例子中,你將有單選按鈕)

+0

我想獲得超過2個職位的廣播組,並獲得post方法中的選定位置。 – RazorRunner

+0

@Bill Mustdie你是什麼意思'超過2個職位'? – webdeveloper

+0

[] Position1 [x] Position2 [] position3 ....是否可以使用標準的MVC助手? – RazorRunner