加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 具有预设值的Html.HiddenFor

发布时间:2020-12-16 04:21:00 所属栏目:asp.Net 来源:网络整理
导读:这部分由于Ethan Brown而解散了 我想用预设值设置我的 Html.HiddenFor帮助器的值 这是我的代码: %: Html.HiddenFor(model = model.idv,new { @value = ViewBag.id })%%: Html.HiddenFor(model = model.etat,new { @value = "false" })% 但是当执行我的代码
这部分由于Ethan Brown而解散了
我想用预设值设置我的 Html.HiddenFor帮助器的值
这是我的代码:
<%: Html.HiddenFor(model => model.idv,new { @value = ViewBag.id })%>
<%: Html.HiddenFor(model => model.etat,new { @value = "false" })%>

但是当执行我的代码时,我得到的错误是model.idv和modele.etat为null.

到目前为止,这是第二部分没有解决的问题:

这是我的行动:

public ActionResult Reserver(string id)

    {
        var model = new Models.rservation
        {
            idv = id,etat = false
        };
        return View(model);
    }

[HttpPost]
        public ActionResult Reserver(Models.rservation model)
        {
            if (ModelState.IsValid)
            {
                entity.AddTorservation(model);
                entity.SaveChanges();
                return View();
            }
            else
            {

                return View(model);
            }
        }

这是我的观点页面:

<% using (Html.BeginForm("Reserver","Home",FormMethod.Post,new { @class = "search_form" })) { %>
//some code textbox to fill
<input type="submit" value="Create" />
<% } %>

因此,当我单击提交按钮时,model.idv将再次设置为空值

解决方法

设置预设值的正确方法是通过模型传递(如果设置,MVC似乎忽略“value”参数).在你的行动中完成你正在寻找的东西:
public ActionResult MyAction() {
  var model = new MyModel {
    idv = myPresetId,etat = false
  };
  return View( model );
}

然后你不必在你的视图中做任何事情,除非:

<%: Html.HiddenFor( model => model.idv ) %>
<%: Html.HiddenFor( model => model.etat ) %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读