Chr*_*sic 13 c# partial-views razor layout-page asp.net-mvc-3
所以我有一个布局页面
<head>
@RenderSection("HeaderLast", required: false)
</head>
Run Code Online (Sandbox Code Playgroud)
一个看法
@section HeaderLast
{
<script src="@Url.Content("~/Scripts/knockout-1.2.0.js")"
type="text/javascript"></script>
}
<div id="profile-tab">
@{ Html.RenderPartial("_userProfile"); }
</div>
Run Code Online (Sandbox Code Playgroud)
和部分观点
@section HeaderLast
{
<script type="text/javascript">
alert('test');
</script>
}
<div......
Run Code Online (Sandbox Code Playgroud)
我认为这不可能那么简单.有没有一种正确的方法来开箱即用,或者这总是需要某种调解器并传递ViewData周围的东西来手动使内容冒泡到布局页面?
赏金开始了:赏金将奖励为此短期提供的最佳解决方案.如果没有提供答案,我会将其授予@SLaks最初回答此问题.
您无法在部分视图中定义部分.
相反,您可以将Javascript放入ViewBag
,然后发出ViewBag
布局页面中找到的任何Javascript .
@JasCav:如果某个部分需要自己的CSS,那么它没有很好的方法来渲染它.
如果这是它的使用原因,它很可能是设计的.
您不希望拥有单独的CSS文件x partial/helper.请记住,每个单独的CSS文件意味着从服务器获取它的单独请求,因此额外的往返会影响呈现页面的时间.
此外,您不希望从部分/帮助程序向HTML发出直接CSS.相反,您希望它具有适当的钩子,您可以使用它来定义站点的CSS文件中的所有外观.
您可以使用与CSS相同的钩子来激活所涉及元素的自定义JavaScript行为.启用JavaScript时.
最后,您可能需要的不是部分视图,而是用于某些页面的额外布局.通过这种方法,您将拥有:
如何为子项获取额外数据布局超出了问题的范围,但您有几种选择.就像为你的实体建立一个共同的基础; 使用ViewBag或调用Html.RenderAction来获取与布局中的共享动态元素相关的共享逻辑.
归档时间: |
|
查看次数: |
9935 次 |
最近记录: |