ASP.NET MVC 3 - не удается правильно добавить элементы управления в вспомогательный метод - PullRequest
0 голосов
/ 27 ноября 2011

Я чувствую, что упускаю что-то очевидное здесь. Я просто хотел попробовать вывести на экран несколько простых выводов XML, поэтому моя модель выводит XML-файл в представление в виде XElement в простом приложении mvc3. Проблема в том, что не генерируется ни один html из вспомогательного метода. Если я пытаюсь отобразить те же элементы в обычном коде цикла foreach, он работает нормально, но почти как будто он полностью пропускает помощника или просто недостаточно заботится о визуализации элемента.

Есть что-то простое, что мне не хватает?

@helper NavigateElement(XElement xElement)
{
    if (xElement.HasElements)
    {
        foreach (XElement xChildElement in xElement.Elements())
        {
            NavigateElement(xChildElement);
        }
    }
    else
    {
        @Html.Label(xElement.Name.LocalName.ToString())
        @Html.TextBox(xElement.Name.ToString(), xElement.Value)
    }
}


@foreach (XElement xElement in Model.exampleXML.Elements())
{
    if (xElement.HasElements)
    {
        foreach (XElement xChildElement in xElement.Elements())
        {
            NavigateElement(xChildElement);
        }
    }
    else
    {
        @Html.Label(xElement.Name.LocalName.ToString())
        @Html.TextBox(xElement.Name.ToString(), xElement.Value)
    }
}

Ответы [ 2 ]

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

Вы на самом деле вызываете своего помощника где-нибудь?

@NavigateElement(Model.exampleXML)
0 голосов
/ 27 ноября 2011

не должны ли ваши else блоки выглядеть так?

else
{
    Html.Label(xElement.Name.LocalName.ToString())
    Html.TextBox(xElement.Name.ToString(), xElement.Value)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...