1

私はMVC3レイザーフォームを持っています。ラジオボタンリストと他のいくつかのテキストフィールドがあります。コントローラーの投稿アクションの送信を押すと、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です。

4

1 に答える 1

1

ラジオボタンをどのように埋める予定intですか?チェックされている状態とされていない状態の2つがあります。何をしようとしているのか教えていただけますか?ラジオグループを作りますか?に使用boolRadioButtonForます。

追加した:

次のように記述する必要があります。MVC3.0のCheckboxList(この例ではラジオボタンがあります)

于 2012-09-20T08:56:25.763 に答える