添加具有特定名称的部分到我的索引

时间:2011-01-27 13:56:13

标签: asp.net-mvc-3 razor

我需要添加一个具有特定名称的部分,如下所示:

@string test="test";
@section @test
{
   @*  my view code *@
}

我怎么能得到这项工作。

2 个答案:

答案 0 :(得分:1)

您可以使用DefineSection方法。看看这个如何有用的示例:http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx

答案 1 :(得分:0)

您可以在任何地方使用可以使用Html.Partial助手包含的部分:

@Html.Partial("test")

将呈现Test.cshtml部分视图,其中可能包含您喜欢的任何标记。

如果您想处理一些更复杂的场景,其中此部分将包含来自某些数据存储的动态数据,您可以使用Html.Action帮助程序。您可以从定义模型开始:

public class MyModel
{
    public string SomeProperty { get; set; }
}

然后是控制器:

public class MySectionController: Controller
{
    public ActionResult Index()
    {
        MyModel model = ...
        return View(model);
    }
}

并有相应的观点:

@model AppName.Models.MyModel
<div>@Model.SomeProperty</div>

最后你会像这样包括它:

@Html.Action("index", "mysection")

您可以将其包含在布局中,从而允许您将动态小部件与主控制器逻辑完全分离,并且每个动态小部件都遵循其自然工作流程。