如何在MVC 5中保存自定义值字段?

时间:2014-12-11 07:30:47

标签: javascript asp.net-mvc asp.net-mvc-5

我使用MVC5生成带有一些自定义字段的模型。我有一个字段Region每个人都可以根据他的Region添加记录。 在我的视图中,我添加了:

<div class="form-horizontal">
        <h4>Employee</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        <div class="form-group">
            @Html.LabelFor(model => model.Region, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">

                @if (User.IsInRole("RiyadhAdminAssistant"))
                {

                    @:Riyadh

                }
                @if (User.IsInRole("JeddahAdminAssistant"))
                {
                   @:JEDDAH

                }
                @if (User.IsInRole("AlAhsaAdminAssistant"))
                {
                    @*<text><b>AlAhsa</b></text>*@
                    @:AlAhsa

                }


            </div>
        </div>

所有东西对我来说都很好但是Region的值没有存储在DataBase中!怎么能救它。 请帮助

提前致谢。

2 个答案:

答案 0 :(得分:2)

由于您有表单,因此需要将值附加到表单元素,该表单元素可以发布到您的服务器。您需要指定一个名称,以便可以访问控制器中的值并将其保存在数据库中:

<div class="col-md-10">
   @if (User.IsInRole("RiyadhAdminAssistant"))
   {
       <input type="hidden" name="role" value="Riyadh" />
       @:Riyadh
   }
   @if (User.IsInRole("JeddahAdminAssistant"))
   {
       <input type="hidden" name="role" value="JEDDAH" />
       @:JEDDAH
   }
   @if (User.IsInRole("AlAhsaAdminAssistant"))
   {
       <input type="hidden" name="role" value="AlAhsa" />
       @*<text><b>AlAhsa</b></text>*@
       @:AlAhsa
   }
</div>

在您的控制器中,在与表单关联的操作中,您可以访问role参数(您可以根据需要为其命名):

public ActionResult MyAction(string role)
{
     //store "role" in the database
}

编辑:正如评论中已经指出的那样,您已经了解了用户的角​​色,因此您不需要呈现其他HTML。相反,在将数据保存到数据库之前,只需检查服务器上的角色。这个答案是概念证明,当数据已知且浏览器不需要时,不应在特定情况下使用。

答案 1 :(得分:1)

您好,您可以将其保存在数据库中,您必须将其存储在表单中,并有一个提交按钮来触发保存。

&#13;
&#13;
model NameSpaceForYourModel

<form action="@Url.Action("SaveAction","RegionController")" method="post" class="form-horizontal">
        <h4>Employee</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        <div class="form-group">
            @Html.LabelFor(model => model.Region, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">

                @if (User.IsInRole("RiyadhAdminAssistant"))
                {

                   @Html.TextboxFor(m=>m.Riyadh)

                }
                @if (User.IsInRole("JeddahAdminAssistant"))
                {
                    @Html.TextboxFor(m=>m.Jeddah)

                }
                @if (User.IsInRole("AlAhsaAdminAssistant"))
                {
                    @*<text><b>AlAhsa</b></text>*@
                    @Html.TextboxFor(m=>m.Alahsa)

                }


            </div>
          <input type="submit" value="Save">
        </form>
&#13;
&#13;
&#13;