Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使没有编辑器字段的DB字段持久化_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 如何使没有编辑器字段的DB字段持久化

C# 如何使没有编辑器字段的DB字段持久化,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我有一个具有以下模式的数据库 public partial class staging { public int id { get; set; } public System.DateTime createtime { get; set; } [DataType(DataType.MultilineText)] public string general { get; set;

我有一个具有以下模式的数据库

    public partial class staging
        {
            public int id { get; set; }
            public System.DateTime createtime { get; set; }
            [DataType(DataType.MultilineText)]
            public string general { get; set; }
            public string articletype { get; set; }
        }
我有两个视图创建和编辑。 在Create视图中,我正在更新general,但我正在从控制器更新文章类型,并保存一个数据库,如下所示

        [HttpPost]
        [ValidateInput(false)]
        public ActionResult Create(staging staging)
        {

            staging.createtime = DateTime.Now;
            staging.articletype = "Stage";
            try
            {
                db.stagings.Add(staging);
                db.SaveChanges();                
            }
            catch (InvalidOperationException e)
            {
                ViewData["error"] = "An error has occured: " + e.Message;
                return View(staging);
            }

            return RedirectToAction("Details/" + staging.id);
        }
现在,我只有一个编辑字段用于“常规”。 因此,当我转到编辑视图页面时,我看到articletype具有适当的值,但当它返回到HttpPost的编辑时,articletype被设置为NULL,我认为这是因为我没有相同的编辑器字段。现在,当我从编辑控制器更新数据库时,它也被设置为NULL


那么,如何使该值在多个视图中持久化呢?我将只在控制器中的“创建事件”中进行更新,但我始终希望该值保持不变。

ASP.NET MVC返回并解释通过HTTP请求发送的信息。必须从数据源(如数据库或会话变量)检索持久化数据,或从要为您持久化的视图从视图发回控制器。如何从视图发回值??当我检查model.articletype时,视图中只有Headline@Html.EditorFormodel=>model.general@Html.ValidationMessageFormodel=>model.general这样的编辑器字段。当暂存返回到控制器时,该值出现在视图中设置为空。我不知道如何将值输入model=>model。articletype@user3917144,使用仅包含编辑的特性的视图模型。在post方法中,根据ID从数据库获取数据模型,然后将视图模型属性映射到数据模型并保存数据模型。您可以在表单标记中添加@Html.HiddenFormodel=>model.articletype,但也可以在编辑操作中不更新该字段