Asp.net mvc 如何使用实体框架MVC5从数据库传递值隐藏字段

Asp.net mvc 如何使用实体框架MVC5从数据库传递值隐藏字段,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我使用的是MVC实体框架,我已经生成了代码,我的字段是活动的,这个字段的值是真是假。代码看起来像 控制器: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include="ClientId,ClientName,PrimaryContactName,EmailId,PrimaryContact,IsActive,ModifiedBy,ParentCompany")] TP

我使用的是MVC实体框架,我已经生成了代码,我的字段是活动的,这个字段的值是真是假。代码看起来像

控制器:

 [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Edit([Bind(Include="ClientId,ClientName,PrimaryContactName,EmailId,PrimaryContact,IsActive,ModifiedBy,ParentCompany")] TP_InternalClients tP_InternalClients)
        {
            if (ModelState.IsValid)
            {
                db.Entry(tP_InternalClients).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(tP_InternalClients);
        }
型号:

 public class InternalClients
    {
        public int ClientId { get; set; }
        public string ClientName { get; set; }
        public string PrimaryContactName { get; set; }
        public string EmailID { get; set; }
        public string PrimaryContact { get; set; }
        public bool IsActive { get; set; }
        public string ModifiedBy { get; set; }
        public int ParentCompany { get; set; }
    }
视图:

 <div class="col-md-10">
                <div class="checkbox">
                    @Html.EditorFor(model => model.IsActive)
                    @Html.ValidationMessageFor(model => model.IsActive, "", new { @class = "text-danger" })
                </div>
            </div>

@EditorFor(model=>model.IsActive)
@Html.ValidationMessageFor(model=>model.IsActive,“,new{@class=“text danger”})

运行代码后,代码Isactive下拉列表显示true或false我想要隐藏字段,此时只向数据库发送默认值true。如何隐藏和发送默认值?我正在做我在你的表格中得到错误,只需替换

<div class="checkbox">
     @Html.EditorFor(model => model.IsActive)
     @Html.ValidationMessageFor(model => model.IsActive, "", new { @class = "text-danger" })
</div>
现在确保在GET操作中将默认值设置为所需的任何值

但是,如果希望保存默认值,请在HttpPost操作中执行该操作,无需在表单中保留隐藏字段(用户可以使用浏览器开发工具更新隐藏字段值)


记住,.

值始终为真如何设置默认值
<input type="hidden" name="IsActive" value="true" />
@Html.HiddenFor(s=>s.IsActive)
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include="ClientId,ClientName,PrimaryContactName,EmailId,
                       PrimaryContact,ModifiedBy,ParentCompany")] TP_InternalClients model)
{
        if (ModelState.IsValid)
        {
            model.IsAcive = true ; 
            db.Entry(model).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(tP_InternalClients);
}