C# 创建时的ASP.Net MVC初始值
我正在试用一个ASP.NETMVC应用程序,我正在寻找通过控制器设置默认值的方法 例如,使用以下模型: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
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文件中时,该值确实保留了下来。