Поскольку вы помечено как MVC, я собираюсь предложить вам мог бы сделать что-то вроде опубликованного на my blog как способ получить подсветку синтаксиса для шаблонов, так как решение будет очень похоже, если вам не нужно манипулировать внутренним контентом и просто заинтересованы в его «обертке» (например, в содержащем элементе, который требует некоторой дополнительной логики).
Используя метод, метод HtmlHelper получает контекст блока. Синтаксис несколько отличается от предложенного вами метода.
Например, вы могли бы иметь что-то вроде:
@using(Html.MyTextArea("txt1"))
{
<some HTML content here>
}
Контекст передается на объект IDisposable, который включает Writer (для записи текущего потока вывода). Там он может выводить несколько элементов или выполнять другие манипуляции по мере необходимости. Dispose используется для записи элемента close (при необходимости).
Таким образом, вы могли бы в конечном итоге с чем-то вроде этого:
<textarea><some HTML content here></textarea>
Однако, как я уже говорил об этом не обеспечивает внутреннее содержание для самой функции.
Поскольку страницы Razor выдают наизнанку, нет эффективного способа захвата вывода так, как вы этого хотите. Есть около posts вокруг кэширования вывода частичной строки (что будет означать, что внутренний контент в вашем примере будет в другом файле, файле .ascx), поэтому вы можете посмотреть на них.
Не могли бы вы уточнить, что вы имеете в виду, когда именно вы говорите «что бы получить в качестве содержимого параметра зрения»? Благодарю. –
@KalmanSpeier означает, что если бы у вас был помощник между '%><%', он бы визуализировал бы и вы получили бы строковый параметр сгенерированного html – Omu
Не могли бы вы показать пример того, что ваш вход и ожидаемый результат? – Rastapopulous