簡體   English   中英

ActionResult中的參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM