2016-04-14 2 views
1

Мне нужно создать форму для регистрации.Показать флажок Значение данных из базы данных с помощью mvc

пример формы будет выглядеть следующим образом

enter image description here

как отобразить значение в красном круге в форме? (Значение из базы данных)

Мой контроллер

namespace Insurance.Controllers 
{ 
    public class FlexiPAController : Controller 
    { 
     // 
     // GET: /FlexiPA/ 

     public ActionResult RegisterFlexiPA() 
     { 


      return View(); 
     } 

     public ActionResult RegisterFire() 
     { 
      return View(); 
     } 

     public ActionResult RegisterMotor() 
     { 
      return View(); 
     } 
    } 
} 

Мои ViewModel

namespace Insurance.ViewModels 
{ 
    public class RegisterInfoPA 
    { 
     public register reg { get; set; } 
     public infoPA infoFlexiPA { get; set; } 
     public personalInfo pinfo { get; set; } 
     public List<maritalInfo> minfo { get; set; } 
     public childInfo cInfo { get; set; } 
    } 
} 

Мой взгляд

@using (Html.BeginForm()) { 
@Html.AntiForgeryToken() 
@Html.ValidationSummary(true) 

    <!--TITLE--> 
    <div class="editor-label"> 
     Title 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.reg.title) 
     @Html.ValidationMessageFor(model => model.reg.title) 
    </div> 
    <!--NAME--> 
    <div class="editor-label"> 
     Name 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.reg.registerNm) 
     @Html.ValidationMessageFor(model => model.reg.registerNm) 
    </div> 

    <!--IC NO--> 
    <div class="editor-label"> 
     IC No 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.reg.identityNo) 
     @Html.ValidationMessageFor(model => model.reg.identityNo) 
    </div> 

     <!--GENDER--> 
<div class="editor-label"> 
    Gender 
</div> 
<div class="editor-field"> 
    @Html.EditorFor(model => model.pinfo.gender) 
    @Html.ValidationMessageFor(model => model.pinfo.gender) 
</div> 
<!--Marital Status--> 
    <div class="editor-label"> 
     **Marital Status** 
    </div> 
    <div class="editor-field">  
    </div> 

Wanted to make the checkbox here for marital status eg :single,widowed,married

Я новичок в MVC, очень ценю ваш помогает.

ответ

1

Попробуйте Давайте попробуем один контроллер первого

Ваш контроллер

namespace Insurance.Controllers 
{ 
public class FlexiPAController : Controller 
{ 
// 
// GET: /FlexiPA/ 

DATABASENAME db = new DATABSENAME(); //ESTABLISHING CONNECTION TO DATABASE 
public ActionResult RegisterFlexiPA() 
{ 
     using (var dataBase = new DATABASENAME()) 
     { 
      var model = new RegisterInfoPA() 
      { 
       minfo = dataBase.maritalInfoes.ToList(), 
       //IF YOU WISH TO ADD MORE     

      }; 
      return View(model); 
     }  
} 

Ваш ViewModel

изменения вы супружеская информация к IEnurumerable вместо списка

public IEnumerable<maritalInfo> minfo { get; set; } 

Вашего взгляд

Я хотел бы предложить вам сделать радиокнопку вместо флажка, потому что, конечно, вы можете выбрать только один, например: либо холостой или женатый. Таким образом, весьма предпочтительно использовать радиокнопку

 <div> 
     Marital Status 
     @foreach (var item in Model.minfo) 
     { 
      @Html.RadioButtonFor(model => model.pinfo.maritalId, item.maritalId)@Html.Label(item.maritalStatNm) 
     } 
    </div> 

Это, как вы показываете, то в контроллере вам просто необходимо, чтобы сохранить его.

0

Вы можете использовать:

@foreach(var item in Model.minfo) { @Html.EditorFor(o => item) }

Создать частичное представление под названием maritalInfo.cshtml. Поместите это частичное в Views/Shared/DisplayTemplates.

В парциальное:

@model maritalInfo 
<!--Marital Status Name and Value depend on your maritalInfo Model--> 
<div class="editor-label"> 
    @Html.LabelFor(o => Model.Name) 
</div> 
<div class="editor-field"> 
    @Html.CheckBoxFor(o => Model.Value)  
</div> 
+0

Привет, мне понравился u, но в этой строке это не позволяло мне делать, как dis @ Html.EditorFor (o => Model.item), поэтому я изменил его на @ Html.EditorFor (o => Model.minfo), и я получил эту ошибку. Сведения об исключении: System.NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта. Источник ошибки: Строка 56:

Линия 57:
Line 58: @foreach (var item in Model.minfo) Line 59: { Line 60: @Html.EditorFor(o => Model.minfo) – user3643092

+0

Sorry for the code, I correct it. Use @Html.EditorFor(o => item) – Remay

+0

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error: Line 56:

Строка 57:
Line 58: @foreach (вар элемент в модели.minfo) Строка 59: { Строка 60: @ Html.EditorFor (o => item) – user3643092

Смежные вопросы