使用mvc显示数据库中的数据值

时间:2016-04-14 07:17:33

标签: c# asp.net asp.net-mvc razor checkbox

我需要创建一个注册表单。

表单的示例将如下所示

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>
     

想在这里勾选婚姻状况,例如:单身,丧偶,已婚

我是mvc的新手,非常感谢你的帮助。

2 个答案:

答案 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>