我有一个带有“字段”的视图模型。
public class MyViewModel
{
[Required(ErrorMessageResourceType = typeof(Global), ErrorMessageResourceName = "Required")]
public string Code { get; set; }
}
在我的一个控制器中,我返回了该视图模型。 但是,根据某些参数,我要删除必需的内容。
public ActionResult Create()
{
var model = new MyViewModel();
if(something){
model.SomeThingToRemoveTheRequiredFromCode();
}
return View(model);
}
在刚创建视图模型的情况下,如何从视图模型中删除必需项?
答案 0 :(得分:1)
这是一种方法。创建没有必需属性的新模型
public class MyViewModelToo
{
public string Code { get; set; }
}
然后在这种情况下,使用该视图模型返回视图
public ActionResult Create()
{
var model = new MyViewModel();
if(something){
var modelToo = new MyViewModelToo();
return View(modelToo);
}
return View(model);
}
答案 1 :(得分:0)
您可以像这样从模型状态字典中删除它
if(something){
Modelstate.Remove("Code")
}
答案 2 :(得分:0)
如果只有一个字段,则可以使用此字段
public ActionResult Create()
{
var nmodel= new MyViewModel().fieldname;
if(something){
return View(nmodel);
}
return View(model);
}
或者您可以使用@using System.Web.ModelBinding;在你班上
ModelState.Remove("Code");