добавить раздел с конкретным именем в мой индекс - PullRequest
1 голос
/ 27 января 2011

Мне нужно добавить раздел с определенным именем, примерно так:

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

Как я могу получить эту работу.

Ответы [ 2 ]

1 голос
/ 27 января 2011

Вы можете использовать метод DefineSection. Посмотрите здесь примеры того, как это может быть полезно: http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx

0 голосов
/ 27 января 2011

Вы можете использовать частичное, которое может быть включено с помощью помощника 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")

Вы можете включить его в свой макет, что позволит вам включать динамические виджеты, полностью отделенные от логики вашего основного контроллера, и каждый из них будет следовать естественному рабочему процессу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...