javascript - 在 js 文件中处理服务器端标签的最佳方式是什么?

标签 javascript jquery asp.net-mvc

我正在使用 Asp.NET MVC,并且在我的整个应用程序中都非常依赖 JQuery(不确定这在这里是否重要)。我正在尝试构建一组 js 库文件以符合我的观点。我面临的问题是我需要一种方法来管理所有图像映射和 ajax 调用的文件和操作链接的服务器端位置。

现在,我坚持将我所有的脚本代码放在每个 aspx 页面中,以便我可以像这样使用服务器端脚本标记:

    $("#StartDate").datepicker({
        changeMonth: true,
        changeYear: true,
        showOn: 'button',
        buttonImage: '<%= Url.Content("~/Content") %>/Images/calendar.png',
        buttonImageOnly: true
    });

    function fillDates(periodType, periodOffset)
    {
      $.ajax({
        url: '<%= Url.Action("GetDates", "Tracking") %>',
        dataType: "json",
        data: {"pt": periodType, "po": periodOffset},
        success: function(result){
            if (result.Status == "Success")
            {
                $("#StartDate").val(result.StartDate);
                $("#EndDate").val(result.EndDate);
            }
            else
            {
                alert(result.Status + ": " + result.Message);
            }
        }
      });        
    }

我想将此代码移动到 js 文件中。我将如何做到这一点并且仍然能够映射到我的应用程序的根目录。

最佳答案

您可以将基本 url 放在您的 View 中,并从您的 js 文件中引用它

// site.master
var appPath = <%=ResolveUrl("~/")%>;

// *.js
function dosomething()
{ 
    var src = appPath + "content/images/test.png";
    var action = appPath + "controller/action";
}

注意:此方法要求您手动编写操作 URL,而不是调用 Url.Action()

关于javascript - 在 js 文件中处理服务器端标签的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2267894/

相关文章:

javascript - jQuery.param() - 不序列化 javascript Date 对象?

javascript - 如何在Jquery中读取cookie值并创建另一个具有相同值的cookie

javascript - 如果使用某个类,则使用 javascript 隐藏 div

javascript - 下载 Ajax 返回的 PDF

javascript - HTML Canvas 不显示图像

javascript - 我可以只使用 JavaScript 创建 WordPress 插件吗?

javascript - 根据属性返回对象值

c# - Thread.Timer With HttpContext 不起作用

asp.net-mvc - MVC bundle - 无法加载资源

javascript - 如何在没有按钮的情况下在 Highcharts 中动态添加系列? ( Angular JS)