我需要创建一个注册表单。
表单的示例将如下所示
如何在表单中的红色圆圈中显示值? (值来自数据库)
我的控制器
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>
想在这里勾选婚姻状况,例如:单身,丧偶,已婚
我是mvc的新手,非常感谢你的帮助。
答案 0 :(得分: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而不是List
public IEnumerable<maritalInfo> minfo { get; set; }
您的观点
我建议你制作单选按钮而不是复选框,因为你肯定只能选择一个,例如:单身或已结婚。因此,非常优选使用radiobutton
<div>
Marital Status
@foreach (var item in Model.minfo)
{
@Html.RadioButtonFor(model => model.pinfo.maritalId, item.maritalId)@Html.Label(item.maritalStatNm)
}
</div>
这是您显示的方式,然后在控制器中您只需要保存它。
答案 1 :(得分: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>