Можно ли передать конструкцию Razor вспомогательному методу с помощью оператора @: Razor?

Я пытаюсь передать некоторый HTML-код, созданный с помощью оператора razor @: , во вспомогательный метод, но я не могу понять, как сделать это. Компилятор заявляет, что выражение Razor является лямбда-выражением, но он не говорит, что это за лямбда-выражение похоже ... вообще никаких подсказок!

Если я попытаюсь сделать это:

        @(MyClass.MyMethod(new
            {
                Html = @:<div></div>
            }
        ))

Ошибка будет следующей : Невозможно присвоить лямбда-выражение свойству анонимного типа.

Если я попробую это сделать, оно снова будет указано как лямбда:

        @(MyClass.MyMethod(
            @:<div></div>
        ))

Если MyMethod получает строку: т.е. общедоступная строка MyMethod (string razorConstructedString ) , то компилятор сообщает: Невозможно преобразовать лямбда-выражение в тип «строка», потому что это не тип делегата .

Вопрос в следующем: какой тип я должен объявить MyMethod, чтобы он мог получить созданный параметр бритвы?

Спасибо!

5
задан marcind 1 August 2011 в 18:12
поделиться