如何创建将类作为arg的处理程序。这基于mediatr example for Razor pages。在该示例中,“查询”对象仅具有“ Id”属性。我想拥有2个属性,例如:
public async Task OnGetEditAsync(Query query)
{
Data = await _mediator.Send(query);
}
public class Query
{
public string FirstId { get; set; }
public string SecondId { get; set; }
}
当我尝试在cshtml中创建这样的路由时:
<a asp-page="/TestPage" asp-route-FirstId="abc" asp-route-SecondId="123">Test Link</a>
我收到400错误。可以这样做吗?
答案 0 :(得分:1)
链接指向错误的处理程序,您具有OnGet Edit Async,其中 Edit 是处理程序的名称;试试这个:
<a asp-page="TestPage" asp-page-handler="Edit" asp-route-FirstId="abc" asp-route-SecondId="123">Test Link</a>
答案 1 :(得分:0)
您可以尝试
@{
var test= new Dictionary<string, string>
{
{ "FirstId ", "something" },
{ "SecondId ", "something else" }
};
}
<a asp-page="/TestPage"
asp-all-route-data="test">Test Link</a>
将生成<a href="/TestPage?FirstId=something&SecondId=something else">Test Link</a>