0

次の問題があります。コントローラーのメソッドを呼び出すと、パラメーターを受け取ります。コードは次のとおりです。

@Html.ActionLink("Preview", "ReportExecution", "Report", new { reportName = ViewBag.docLiquidation }, null) 

これにより、次のアドレスが生成されます。

http://localhost:65500/Report/ReportExecution/docRetentionDeclaration

docRetentionDeclarationはパラメーターとして識別されますが、識別されません。

メソッドのコードは次のとおりです。

[HttpPost]
public FileResult ReportExecution(string reportName)
{
     .
     .
     return new File();
}

私はあなたが私に与えることができる助けに感謝します。

4

1 に答える 1

0

次のルートがあると仮定します。

routes.MapRoute(
    "Default",
    "{controller}/{action}/{reportName}",
    new { controller = "Home", action = "Index", reportName = UrlParameter.Optional }
);

コントローラのアクションは、パラメータがreportNameと呼ばれることを期待します。

public ActionResult ReportExecution(string reportName)
{
    ...
}

コントローラアクションのパラメータ名が、ルート定義のルートトークンとどのように一致する必要があるかに注意してください。

于 2012-06-28T16:51:47.720 に答える