使用jquery ajax将asp-route-data传递给页面处理程序

时间:2019-07-19 07:21:36

标签: razor razor-pages

我想使用jquery ajax不引人注目地将asp-route-data传递给剃刀页面中页面模型中的页面处理程序。如何修改以下代码,以便我的页面处理程序

public class IndexModel : PageModel
{
    public IActionResult OnGetPartial(int? data)
    {
        return new PartialViewResult { 
            //return a partial page and update #panel
        };
    }
}

接收一个名为data的参数

@page
@model IndexModel
<div id="panel"></div>
<a href="" asp-route-data="20" data-ajax="true" data-ajax-url="/index/partial" data-ajax-update="#panel">Click here</a>
<div id="panel"></div> 

在上面的剃刀标记中,我尝试将asp-route-data添加到元素中,但它不会将值传递给页面处理程序

1 个答案:

答案 0 :(得分:0)

首先,将路由模板添加到页面中,以便找到处理程序:

@page "{handler?}"

然后将路线数据作为查询字符串值进行传递,例如:

data-ajax-url="/index/partial?data=20"

如果您想通过JavaScript设置值,则可以这样做(使用jQuery):

$('a[data-ajax-update="#panel"]').first().data('ajax-url', '/index/partial?data=' + your_value);