使用JQuery的ajax()或get()方法,我们可以对ASP.NET MVC控制器操作进行异步调用,例如:
function(){
$.get('<%=Url.Action("TitleToSlug", "Services", new { title = "Some title" }) %>', function (data) {
$('#SomeOtherTextbox).val(data);
});
}
如果我们想要URL参数(在上面的情况下为“title”)是动态的,例如从页面上的某个地方读取它?让我说在javascript中的ASP.NET MVC代码块中使用Url.Action()帮助程序确实有效,但我无法弄清楚如何进行连接。
希望你明白我想要的东西 - 我想在那里插入“Some title”所在的Title文本框的值。
答案 0 :(得分:1)
您可以使用虚假标题生成您的URL服务器端(某些内容永远不会用作真正的标题,例如“BOGUS_TITLE”),并且当客户端代码执行时将其替换为实际动态值:
function(){
var titleTemplate = '<%=Url.Action("TitleToSlug", "Services", new { title = "_BOGUS_TITLE_" }) %>';
$.get(titleTemplate.replace('_BOGUS_TITLE_', realTitle), function (data) {
$('#SomeOtherTextbox).val(data);
});
}