使用剃刀
ASP.NET MVC部分呈现的问题,我有_Layout.cshtml我的MVC应用程序,这是如下定义:使用剃刀
@inherits System.Web.Mvc.WebViewPage
@using Webdiyer.WebControls.Mvc;
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@RenderSection("HeaderContent", false)
</head>
<body>
@RenderBody()
</body>
</html>
在页面SomePage.cshtml,我已经包括了布局,也包括部分呈现建筑,因为我希望我_MailForm.cshtml此页面上呈现:
@{
View.Title = "page";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@Html.Partial("_MailForm")
我的_MailForm.cshtml文件看起来如下:
@inherits System.Web.Mvc.WebViewPage<CMS.Models.Mail.MailModel>
@section HeaderContent
{
<script src="@Url.Content("~/Scripts/mail.js")" type="text/javascript"></script>
}
<form>...</form>
在_MailForm.cshtml声明的HeaderContent部分,假设从_Layout.cshtml和负载在mail.js脚本渲染。该脚本实际上是而不是加载,因为我的表单逻辑不起作用。如果我将标题内容部分从_MailForm.cshtml改为SomePage.cshtml,一切正常,因为mvc加载脚本。
但如何从_MailForm.cshtml文件中加载该脚本?
问候
好吧,我会在这里改写由写评论@BuildStarted,这实际上是回答我的问题:
“这实际上是由设计段只能填充(...)解决问题的最简单方法是将所有的JavaScript合并到一个文件中,这会减少页面加载带宽,并且通常会使最终用户更好,因为他们必须加载JavaScript文件只有一次...但是,这不是你要找的解决方案。由于SomePage.cshtml文件的部分页面是硬编码的,我可以ld说,包括你所需的脚本在该页面现在可以。 “
但是,JavaScript的相关风格或样式表怎么样?,一些JavaScript插件(如jquery ui stuff,dropdownmenus等)紧紧地绑定到不能直接放入主体的CSS和样式。 – 2011-01-25 07:26:51
此外,在大多数情况下,您根本不能从局部视角进入身体。任何解决方案 – Shimmy 2012-11-13 06:42:25
这实际上是通过设计,这些部分只能填充直接的父母......我也遇到了同样的问题, – Buildstarted 2010-10-29 22:14:02
是否有任何解决方法那么,或者一些不同的方法来解决这个问题?移动该部分以指导其父母的父母是唯一的解决方案? – jwaliszko 2010-10-30 09:44:39
那么,最简单的方法是将所有的JavaScript合并成一个文件,这将减少页面加载带宽和通常使最终用户更好,因为他们只需要加载一次JavaScript文件一次...但是这不是您要查找的解决方案。由于'SomePage.cshtml'文件具有硬编码的部分页面,我会说包括您在该页面中所需的脚本现在可以正常使用,并且可以将脚本放在body标签中。 – Buildstarted 2010-11-01 17:20:55