我只想讓一個欄位的值為空
。ModelState.Clear 清空所有欄位
模型 : public class UserViewModel{
[Required("")]
public string Mobile { get; set; }
[Required("")]
public string Name { get; set; }
控制器 :
public IActionResult Create(UserViewModel viewModel){
if (! ModelState.IsValid)
{
//clear just field "Name" .
return view(viewModel)。
}
}
當我回傳時,我只想讓 "姓名 "欄位被清理掉?
uj5u.com熱心網友回復:
你可以使用ModelState.Remove("FieldName");
uj5u.com熱心網友回復:
試試這個
if (ModelState.ContainsKey("Name"/span>) ModelState.Remove("Name")。
而且最好是這樣使用它
if (ModelState.ContainsKey("Name"/span>) ModelState.Remove("Name")。
if (! ModelState.IsValid)
{
return view(viewModel)。
}
如果你想只是清除值
ModelState。 SetModelValue("Name", new ValueProviderResult(string.Empty, CultureInfo.InvariantCulture) )。
因為你沒有清除錯誤,如果它有錯誤,ModelState仍將是無效的。
如果你需要,你可以洗掉錯誤
ModelState["Name"/span>].Errors.Clear();
uj5u.com熱心網友回復:
我使用了ViewBag,它的效果更好
public IActionResult Create(UserViewModel viewModel){
if (! ModelState.IsValid)
{
ViewBag.value = ";
return view(viewModel)。
}
}
Html :
<input id="answer" value="@ViewBag. value" asp-for="Name"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/319220.html
標籤:
上一篇:方法被呼叫兩次
下一篇:在C#中反序列化復雜物件
