【问题标题】:Constructing controller action URL within JQuery AJAX call在 JQuery AJAX 调用中构造控制器操作 URL
【发布时间】:2010-07-16 22:42:44
【问题描述】:

使用 JQuery 的 ajax() 或 get() 方法,我们可以对 ASP.NET MVC 控制器操作进行异步调用,例如:

    function(){
        $.get('<%=Url.Action("TitleToSlug", "Services", new { title = "Some title" }) %>', function (data) {
            $('#SomeOtherTextbox).val(data);
        });
    }  

如果我们希望 URL 参数(在上面的例子中是“标题”)是动态的,例如从页面上的某处读取它?让我说,在 javascript 内的 ASP.NET MVC 代码块中使用 Url.Action() 助手确实有效,但我无法弄清楚如何进行连接。

希望你明白我想要什么 - 我想在“某些标题”所在的位置插入标题文本框的值。

【问题讨论】:

    标签: jquery asp.net-mvc


    【解决方案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); 
        }); 
    }
    

    【讨论】:

    • 我认为这可以做到。确认。
    猜你喜欢
    • 2020-10-13
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    相关资源
    最近更新 更多