如何在剃刀视图中执行此操作

时间:2012-09-10 10:41:39

标签: asp.net-mvc razor

我希望在MVC剃刀视图中有这样的结构:

 if(model.x!=null)
 {
     <div> 
      someComplexView
  }
  someOtherComplexView
  if(model.x!=null)
 {
     </div> 
 }

但它不起作用,因为 div 不在if if block中。如何在不使用partialView的情况下完成?

4 个答案:

答案 0 :(得分:0)

使用<text>包装你的div部分。

<text><div></text>

...

<text></div></text>

另见Why does Razor not like this?

您还可以查看使用<div>包装器的原因。在model.x != null时更改div包装器的类是否足够,并使用它来设置结果的样式?

答案 1 :(得分:0)

 @if(model.x!=null)
 {
    <text> <div> </text> 
      someComplexView
 }
  someOtherComplexView
 @if(model.x!=null)
 {
     <text></div></text> 
 }

答案 2 :(得分:0)

您的代码的目的是什么?看起来逻辑错误,你得到两倍if(model.x!=null),你想做什么? 它应该更像是:

 if(model.x!=null)
 {
     <div> 
      someComplexView
     </div> 
 }
 someOtherComplexView

答案 3 :(得分:0)

来自您所说的here

  

我想在两个复杂视图周围都有一个div,当X不为null时,但是当X为null时,只有一个视图显示并且没有div。

你可以这样做

if(model.x!=null)
 {
     <div> 
      someComplexView
     someOtherComplexView
     </div> 
 }
 else
 {
    someOtherComplexView
 }

所以这样,只有当你的model.x不为null时才会使用div,否则不会使用div。