Asp.net mvc 3 基于条件渲染节的Razor语法
我得到了一个定义了布局的视图。在布局中,有一个部分:Asp.net mvc 3 基于条件渲染节的Razor语法,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我得到了一个定义了布局的视图。在布局中,有一个部分: @RenderSection(“JavaScript”,必填项:false) 在视图中,基于一个条件,我想要么将某些JavaScript呈现给该部分,要么不呈现 @if (condition) { @section JavaScript { <script type="text/javascript> $(document).ready(function(){
@RenderSection(“JavaScript”,必填项:false)
在视图中,基于一个条件,我想要么将某些JavaScript呈现给该部分,要么不呈现
@if (condition)
{
@section JavaScript
{
<script type="text/javascript>
$(document).ready(function(){
//bla...
});
</script>
}
}
@if(条件)
{
@节JavaScript
{
@如果(条件)渲染部分(…)
@第{
@section
块只能出现在标记上下文中
你可以写
@if (condition)
{
<text>
@section JavaScript
{
<script type="text/javascript>
$(document).ready(function(){
//bla...
});
</script>
}
</text>
}
@if(条件)
{
@节JavaScript
{
这是在布局内部吗?布局不知道条件。那么你的条件就在你的部分内部,而不是你在上面的部分。好的。基本上,我在视图内部有一个条件。如果是真的,我需要呈现一个局部视图,以及一些用于局部视图的JavaScript。因此,在视图中el,我如何指定渲染部分或不渲染部分?在视图中,只需使用@if(condition){RenderSection(..)},或者您是在引用其他内容吗?RenderSection(..)是布局内部的一行代码。@section section name{..}是视图内部的代码。将RenderSection()放入视图会导致文件“~/Views/MyView/Bla.cshtml”中无法直接请求,因为它调用“RenderSection”方法。您的示例在布局中有一个条件。我需要在视图中有一个条件。或者我没有得到什么东西?这似乎很好!对我来说很有用。当您知道如何操作时非常简单:o)您还可以使用注释来更改标记上下文,这样您就不需要虚假的标记,例如@if(条件){\@节JavaScript@Deeksy:
是一个Razor标签;它不会在输出中发出。
@RenderSection(..)
@section Javascript{
if(condition)
{
<script type="text/javascript">
$(document).ready(function () {
//bla...
});
</script>
}
}
@if (condition)
{
<text>
@section JavaScript
{
<script type="text/javascript>
$(document).ready(function(){
//bla...
});
</script>
}
</text>
}