使用 jquery ajax 不显眼地将 asp-route-data 传递给页面处理程序
Passing asp-route-data to a page handler using jquery ajax unobtrusive
我想将 asp-route-data 传递给使用 jquery ajax unobtrusive 的 razor 页面中页面模型中的页面处理程序。如何修改以下代码,以便我的页面处理程序
public class IndexModel : PageModel
{
public IActionResult OnGetPartial(int? data)
{
return new PartialViewResult {
//return a partial page and update #panel
};
}
}
收到一个名为数据的参数
@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>
在上面的 razor 标记中,我尝试将 asp-route-data 添加到元素,但它没有将值传递给页面处理程序
首先,将路由模板添加到页面以便找到处理程序:
@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);
我想将 asp-route-data 传递给使用 jquery ajax unobtrusive 的 razor 页面中页面模型中的页面处理程序。如何修改以下代码,以便我的页面处理程序
public class IndexModel : PageModel
{
public IActionResult OnGetPartial(int? data)
{
return new PartialViewResult {
//return a partial page and update #panel
};
}
}
收到一个名为数据的参数
@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>
在上面的 razor 标记中,我尝试将 asp-route-data 添加到元素,但它没有将值传递给页面处理程序
首先,将路由模板添加到页面以便找到处理程序:
@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);