Как вернуть текст помощников как данные из Action - PullRequest
0 голосов
/ 28 августа 2011

Я создал следующий помощник (приведенные ниже коды просто для демонстрации того, что я ищу)

@helper SayHello(string text)
{
   @text
}

Теперь из действия я хочу вернуть текст этого помощника в виде HTML (или строки), как показано ниже

public ActionResult MyAction()
{
      //something like this to return just html
      return SayHello("Rusi");
}

Ответы [ 2 ]

1 голос
/ 28 августа 2011

Я не знаю, возможно ли это, но даже если это так - ПОЖАЛУЙСТА, НЕ ДЕЛАЙТЕ ЭТОГО! Это так сильно нарушает архитектуру разделения MVC.

Вместо этого реализуйте помощник SayHello, скажем, в файле .cshtml, который вызывается методом действия (вы должны декорировать свой метод действия в атрибуте [ChildActionOnly]), а затем вызываете метод действия из на ваших страницах Razor, используя @Html.Action() или @Html.RenderAction().

0 голосов
/ 28 августа 2011

AFAIK Вы не можете вернуть простую строку в качестве метода actionresult.Вместо этого вы должны вызывать свою функцию из ajax и обрабатывать возвращаемый текст через javascript / jquery.В противном случае вы можете вернуть представление, содержащее вашу строку, как модель.Нечто подобное

return View(SayHello("hello world"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...