Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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# 创建时的ASP.Net MVC初始值_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 创建时的ASP.Net MVC初始值

C# 创建时的ASP.Net MVC初始值,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在试用一个ASP.NETMVC应用程序,我正在寻找通过控制器设置默认值的方法 例如,使用以下模型: public class MyItem { public int ID { get; set; } public int ItemTypeID { get; set; } public string Description { get; set; } public DateTime CreateDate { get; set; } } 我已经了解了如何在Htt

我正在试用一个ASP.NETMVC应用程序,我正在寻找通过控制器设置默认值的方法

例如,使用以下模型:

public class MyItem
{
    public int ID { get; set; }
    public int ItemTypeID { get; set; }
    public string Description { get; set; }
    public DateTime CreateDate { get; set; }
}
我已经了解了如何在HttpPost Create函数中设置值(例如type和Create date,其值对于用户来说不可见或不可编辑)

但是,问题是,只有用户单击“保存”按钮,它才会执行。有时,我希望在第一次出现“保存”视图时设置初始值。在本例中,我可能希望描述具有包含日期的默认值:

myItem.Description = string.Format("Item Created on {0:MM/dd/yyyy}", DateTime.Today);
我希望创建视图上的文本框在用户首次输入时默认为该值,但他们可以键入不同的内容


为“创建视图”设置初始值的最佳方法是什么?

使用“获取”操作,只需修改模型即可:

public ActionResult Create()
{
    var myItem = new myItem();

    myItem.Description = string.Format("Item Created on {0:MM/dd/yyyy}", DateTime.Today);

    return View(myItem);
}

使用“获取”操作只需修改模型:

public ActionResult Create()
{
    var myItem = new myItem();

    myItem.Description = string.Format("Item Created on {0:MM/dd/yyyy}", DateTime.Today);

    return View(myItem);
}

您可以在创建表单的Get操作中设置这些值。表单的get是什么样子的?可以在创建表单的get操作中设置这些值。你得到的表单是什么样子的?我做了这个改变,并为描述工作。谢谢我还将ItemTypeID的赋值移动到Get Create,但是当我开始发布时,它又被设置为0。正如我提到的,用户看不到类型,所以我将其文本框从视图中移除。我是否需要将其保留为隐藏字段?是的,您可以使用隐藏字段。当我将@Html.HiddenFor(model=>model.ItemTypeID,null)添加到我的Create.cshtml文件时,该值确实保留了下来。我做了此更改,并进行了描述。谢谢我还将ItemTypeID的赋值移动到Get Create,但是当我开始发布时,它又被设置为0。正如我提到的,用户看不到类型,所以我将其文本框从视图中移除。我是否需要将其作为隐藏字段保留?是的,您可以使用隐藏字段。当我将@Html.HiddenFor(model=>model.ItemTypeID,null)添加到我的Create.cshtml文件中时,该值确实保留了下来。