我有一個將複雜對象作爲輸入的動作。我希望能夠使用POST數據或GET請求中的查詢字符串來填充任何值。這工作正常。MVC5 - 如何知道動作輸入是否完全爲空
如果沒有提供用戶輸入,我也想提供一個默認值,但是這不起作用,因爲即使GET請求中沒有查詢字符串參數,過濾器也不會爲null。相反,MVC只是調用模型的默認構造函數而不設置任何屬性,而不是給我一個null。
public ActionResult Index(DataFilterInput filter = null)
{
if (filter == null)
filter = new DataFilterInput { Top = 100 };
var model = new IndexModel();
return View(model);
}
我怎樣才能知道我是否應該在沒有用戶輸入的被拖欠的值(我不想進入請求的查詢字符串或窗體集合)?
檢查模型狀態檢查和調查數據屬性 – Nkosi
@Nkosi,可以請你提供一點點的細節,並提交這個作爲一個答案,而不是評論? – TheCatWhisperer
您是否在參數聲明前面試過'[DefaultValue(null)]'屬性而不是'= null'?我想知道這是否會改變行爲。 –