0

我终于开始使用 Razor 学习 MVC 3。我在检查要传递的模型时遇到问题。

我需要将这 3 种 MVC 2 示例代码转换为 Razor/MVC 3:

<li class="<%= Model is FooModel ? "active" : null %>"><a href="<%= Url.Action("Foo") %>Foo</a></li>
<li class="<%= Model is DooModel || Model is BooModel ? "selected" : null %>"><a href="<%= Url.Action("Doo") %>">Doo</a></li>


 <% if (Model is FooModel){ %>Foo<% } else if(Model is DooModel){ %>Doo<% } %>


 <% if (Model is FooModel)
    Html.RenderPartial("Foo");
    else if(Model is DooModel)
     Html.RenderPartial("Doo"); %>

感谢您提供任何帮助。

4

1 回答 1

1

像这样的东西应该工作:

<li class="@(Model is FooModel ? "")"><a href="@(Url.Action("Foo"))">Foo</a></li>
<li class="@(Model is DooModel || Model is BooModel ? "selected")>
       <a href="@(Url.Action("Doo"))">Doo</a></li>

@if (Model is FooModel)
{ 
    //not sure what Foo is here
    //if it's just a string/text  just do:
    @:Foo
} 
else if(Model is DooModel) 
{
    @Doo //what is Doo here?
}

@if (Model is FooModel) {
    Html.Partial("Foo")
} else if(Model is DooModel)
{
    Html.Partial("Doo")
}

注意:(1)你不应该返回null,只是不要返回任何东西。(2) 我不确定你在第一个和第二个块中想要什么FooDoo是什么以及你需要对它们做什么。

于 2012-04-16T11:09:42.277 回答