在模型中更改单个值时,哪种方法更受欢迎?美学和性能方面。
看起来很干净(虽然将整个模型再次推到View
的开销):
ModelState.Remove("Name");
guestResponse.Name = "John";
return View(guestResponse);
看起来高效:
ModelState["Name"] = new ModelState { Value = new ValueProviderResult("Paul", null, null) };
return View();
如果更改模型状态字典是高性能的,可以这样做......
ModelState["Name"] = "George";
...我将在第一个代码(使用Remove
和return View(guestResponse)
)上使用它,但不幸的是,ModelState需要使用ModelState和ValueProviderResult进行分配。它看起来很难看。
在控制器中更改模型的属性值时使用哪一个?
答案 0 :(得分:0)
模型属性通常从请求值绑定。因此,如果我需要更改控制器操作中的模型值,我只需使用正确的请求字符串调用此操作,这样我就不必在控制器内部执行任何操作。但是要回答你的问题,这两种方法都会表现良好,你使用哪种方法并不重要。