重新定位与.Net MVC3 Unobtrusive AJAX相关的文件

时间:2011-01-14 17:10:15

标签: asp.net-mvc unobtrusive-javascript

一个简单的问题(我希望):

我们在资产项目中有一个集合结构,即/ Assets / img /,/ Assets / css /和/ Assets / js /

我一直在读Brad Wilson的excellent article on Unobtrusive AJAX,其中他提到了所需的文件,FTA:

  

除了设置标志之外,还需要包含两个脚本文件:jQuery(〜/ Scripts / jquery-1.4.1.js)和MVC插件,用于不引人注意的Ajax和jQuery(〜/ Scripts / jquery)。不显眼-ajax.js)。

是否有人知道通知MVC在/ Scripts /以外的文件夹中查找这些文件的方法 - 我不想在项目的根目录中为这两个文件添加整个文件夹。

更新 哦,亲爱的,结束了明显的脑腐烂。对不起!

非常感谢

2 个答案:

答案 0 :(得分:1)

在您的视图中,您可以使用您想要为脚本设置的任何路径:

<script src="@Url.Content("~/Scripts/jquery-1.4.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

我已经指向Scripts文件夹,因为这是默认设置的,但您可以将其更改为您的特定路径。

答案 1 :(得分:0)

我所看到的方法是在HtmlHelper类上创建一个包含javascript的扩展方法。

public static string Script(this HtmlHelper helper, string filename)
{
  if(!filename.EndsWith(".js")) filename += ".js";
  var path = string.Format("<script src='/Assets/js/{0}' type="text/javascript"></script>", filename);
  return path;
}

然后在您的母版页中,您可以将此块添加到标题

<%= Html.Script("jquery-1.4.1") %>
<%= Html.Script("jquery.unobtrusive-ajax.min") %>