.net core 我无法将多个值传递到重定向的Razor页面

.net core 我无法将多个值传递到重定向的Razor页面,.net-core,model,razor-pages,.net Core,Model,Razor Pages,我似乎无法通过邮寄的新型号。所以我试着传递路由值 我可以返回RedirectToPage(“ValidateCommand”),但我构建的模型没有通过: var paypal = new PayPalModel(); paypal.cmd = "_xclick"; paypal.item_number = "xyz"; paypal.item_name = "Course Name Here"; paypal.amount = "1"; paypal.currency_code = "USD

我似乎无法通过邮寄的新型号。所以我试着传递路由值

我可以返回RedirectToPage(“ValidateCommand”),但我构建的模型没有通过:

 var paypal = new PayPalModel();

paypal.cmd = "_xclick";
paypal.item_number = "xyz";
paypal.item_name = "Course Name Here";
paypal.amount = "1";
paypal.currency_code = "USD";
paypal.no_shipping = 1;

paypal.actionURL = "https://www.paypal.com/cgi-bin/webscr";
paypal.business = "xxx@xxx.com";
paypal.cancel_return = "http://localhost:xxx/Misc/cancel";
paypal.@return = "http://localhost:xxx/Misc/thankyou";
paypal.notify_url = "http://localhost:xxx/Misc/done";
所以我想我会把上面所有的值作为@page指令传递(不确定它叫什么)

在我的“ValidateCommand.cshtml”中,我使用了一个MVC应用程序中的模型示例

@第{cmd}/{item_number}/{amount}/{currency_code}/{no_shipping}/{acitonURL}/{business}/{cancel_return}/{@return}/{notify url}页

@模型OESAC.Models.PayPalmModel

<form id="hiddenform" action=@RouteData.Values["actionURL"]>
   @Html.HiddenFor(model => model.cmd)
        @Html.HiddenFor(model => model.business)
        @Html.HiddenFor(model => model.no_shipping)
        @Html.HiddenFor(model => model.@return)
        @Html.HiddenFor(model => model.cancel_return)
        @Html.HiddenFor(model => model.notify_url)
        @Html.HiddenFor(model => model.currency_code)
        @Html.HiddenFor(model => model.item_name)
        @Html.HiddenFor(model => model.amount)
        @Html.HiddenFor(model => model.item_number)

    <input hidden value="@RouteData.Values["cmd"])" />
    <input hidden value="@RouteData.Values["business"])" />
    <input hidden value="@RouteData.Values["no_shipping"])" />

</form>


@Html.HiddenFor(model=>model.cmd)
@Html.HiddenFor(model=>model.business)
@Html.HiddenFor(model=>model.no_shipping)
@Html.HiddenFor(model=>model.@return)
@Html.HiddenFor(model=>model.cancel\u返回)
@Html.HiddenFor(model=>model.notify\uURL)
@Html.HiddenFor(model=>model.currency\u代码)
@Html.HiddenFor(model=>model.item_name)
@Html.HiddenFor(model=>model.amount)
@Html.HiddenFor(model=>model.item_编号)
PayPalmModel是我的MVC应用程序留下的。但在我的剃须刀页面中,它并不存在。我希望可以用新的模型或路由或查询字符串值替换model=>model.item_编号。任何东西这些值被发送到PayPal,供用户付款。这适用于我拥有的MVC应用程序和vb.net web表单应用程序

这是我得到的错误:
“InvalidOperationException:没有名为“ValidateCommand”的页面与提供的值匹配。”

请在路由模板中使用占位符名称仔细检查所提供的参数值。我可以看到路由模板中至少缺少一个(
item\u name
),还有一个拼写不匹配(
actionUrl
)。此外,您不需要在路线模板中使用
@
符号作为
return
的前缀。您只需要在C代码中执行此操作。

仔细检查提供的参数值,这些参数值与路由模板中的占位符名称一起传递。我可以看到路由模板中至少缺少一个(
item\u name
),还有一个拼写不匹配(
actionUrl
)。另外,您不需要在模板中以
@
签名作为
return
的前缀。谢谢Mike的帮助。
<form id="hiddenform" action=@RouteData.Values["actionURL"]>
   @Html.HiddenFor(model => model.cmd)
        @Html.HiddenFor(model => model.business)
        @Html.HiddenFor(model => model.no_shipping)
        @Html.HiddenFor(model => model.@return)
        @Html.HiddenFor(model => model.cancel_return)
        @Html.HiddenFor(model => model.notify_url)
        @Html.HiddenFor(model => model.currency_code)
        @Html.HiddenFor(model => model.item_name)
        @Html.HiddenFor(model => model.amount)
        @Html.HiddenFor(model => model.item_number)

    <input hidden value="@RouteData.Values["cmd"])" />
    <input hidden value="@RouteData.Values["business"])" />
    <input hidden value="@RouteData.Values["no_shipping"])" />

</form>