[英]Parameters in ActionResult
在將Vanilla MVC項目遷移到Vanilla Umbraco項目時,我面臨着一些問題。 其中一個是查詢參數,並將它們傳輸到我的索引。
來自MVC項目的舊ActionResult:
public ActionResult Index(int value1, int value2, bool value3 = false)
{...}
新的ActionResult,在Vanilla Umbraco項目中工作
public override ActionResult Index(RenderModel model)
{...}
但是我需要來自原始項目的參數(來自querystring)。 我試過簡單地添加它們:
public override ActionResult Index(RenderModel model, int value1, int value2, bool value3 = false)
{...}
但是當我做后者時,我得到錯誤'Controller.Index(RenderModel, int, int, bool): no suitable method found to override'
我錯過了什么?
您不能將這些值作為參數傳遞。 您應該從查詢字符串中提取它們。
public override ActionResult Index(RenderModel model)
{
var value1 = Request["value1"];
var value2 = Request["value2"];
var value3 = Request["value3"];
...
}
該錯誤意味着並非所有參數都按預期加載。 只需讓它們全部接受null作為值,並檢查您在通話期間獲得的內容。
public override ActionResult Index(RenderModel model, int? value1, int? value2, bool value3 = false)
{...}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.