Визуализация представления ASP.NET MVC из строки - PullRequest
1 голос
/ 28 июля 2010

Это может быть плохой идеей по ряду причин, но я все еще хочу достичь ее. Есть ли способ визуализации представления из строки, содержащей некоторые блоки HTML и кода? Сначала я подумал, что я бы реализовал IView и взял бы строку HTML в конструкторе. Затем передайте его методу View вместе с моделью, например:

public ActionResult MyAction() {
    var str = @"<html><body><%= Model.SomeProperty %></body></html>";
    var myView = new MyIView(str);
    return View(myView, Model);
}

В этот момент я немного застрял, так как не знаю, как вызвать механизм представления, чтобы проанализировать строку и заставить все это работать. Или, на этом этапе, я должен разобрать и сделать это сам?

Ответы [ 2 ]

2 голосов
/ 28 июля 2010

К сожалению, это нелегко сделать для страниц ASPX.

В ASP.Net Razor , это намного проще.

Если вы действительно хотите это сделатьзарегистрируйте пользовательский VirtualPathProvider, который разрешает специальные пути к вашим строкам, затем вызовите BuildManager.CreateInstanceFromVirtualPath, приведите его к ViewPage, установите его ViewData и вызовите RenderView.

0 голосов
/ 30 июля 2010

Вы можете просто вернуть string в вашем действии.

public string MyAction() {
    return @"<html><body>" + Model.SomeProperty + @"</body></html>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...