asp.net-mvc – 在ASP.Net MVC中,如何创建将javascript和css放在应该去的位置的小部件?
|
我试图在ASP.Net MVC中创建一个可重用的小部件.这是一个将2个日期连接成字符串的小部件.该小部件包含3个文件:Widget.cshtml,Widget.css和Widget.js以及几个 jquery库的依赖项. Widget.cshtml <h2>Create a date range</h2>
<div>
<label for="startDate">Start:</label>
<input id="startDate" class="date" name="startDate" type="text" />
</div>
<div>
<label for="endDate">End:</label>
<input id="endDate" class="date" name="endDate" type="text" />
</div>
<p id="output"></p>
<button id="createDateRange">Create</button>
Widget.css label { color: #555;}
Widget.js $(function () {
$(".date").datepicker();
$("#createDateRange").click(function () {
var start = $("#startDate").val();
var end = $("#endDate").val();
$("#output").html(start + " to " + end);
});
});
我想在我的MVC页面中重用这个小部件.我想出了几个选项,包括: >创建HTML帮助器 当我记得Steve Souders关于网站性能的规则时,我正准备使用帮助器: 规则5:将样式表放在顶部 规则6:将脚本放在底部 选项1),2)和3)看起来都是好主意,但它们都是内联编写代码并违反了性能规则.选项4)允许我手动将javascript和css文件放在它们所属的位置,但复制和粘贴容易出错.一个潜在的想法是写一个脚手架,把所有东西放在它所属的地方,但这似乎现在太多了. 什么是最好的(希望很简单)做小部件的方式,仍然遵循性能规则5& 6? 解决方法您可以使用类似于旧的ContentPlaceHolder的RenderSection()并将它们放在_Layout.cshtml中<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
@RenderSection("head");
</head>
然后在你的视图中: @{
ViewBag.Title = "Home Page";
}
@section head
{
<link href="widget-style.css" type="text/css" rel="stylesheet" /><
}
<h2>@ViewBag.Message</h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
@section footer{
<script type="text/javascript" src="wiget.js"></script>
}
如果你不想使用Combress或Chirpy,这是一个简单的选择,你仍然需要将代码添加到你使用控件的页面中,但它会出现在正确的位置. 我还找到了一个方便的blog post on registering scripts from within a partial view,值得一读. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 禁用某些字段的验证
- ASP.NET Ajax – Asynch请求有单独的会话吗?
- 使用ASP.NET窗体身份验证的WCF服务
- asp.net-mvc-4 – 如何在mvc4 ActionLink中加密查询字符串I
- asp.net – 如何从水晶报表中的组字段中删除组名
- 什么是部署ASP.Net Web应用程序的好方法?
- asp.net-mvc – TryUpdateModel的实例,ASP .NET MVC 3
- asp.net-mvc-3 – 具有MVC属性的IoC / DI
- asp.net-mvc – 具有多个参数的ActionLink
- asp.net-mvc – ASP.NET Azure 400错误请求不返回JSON数据
- asp.net – 如何在.net 3.5中托管我的MVC3应用程
- asp.net-mvc – 使用jquery Ajax加载PartialView
- ASP.NET WebAPI中的模拟和异步
- asp.net-mvc – 不显眼的验证不适用于Ajax.Begin
- asp.net-mvc – 启用SSL时,IIS默认为HTTPS的端口
- asp.net-mvc – Asp.net MVC 3验证在TryUpdateMo
- asp.net-mvc – 使用没有ORM的ASP.NET MVC
- asp.net – 如何防止Entity Framework将FileStre
- asp.net-mvc – 如何使用Razor ASp.NET MVC连接H
- vbscript – 服务器端注释:ASP Classic中相当于
