Javascript в контроллере - PullRequest
       22

Javascript в контроллере

1 голос
/ 05 февраля 2010

Я хочу написать метод действия, возвращающий Javascript. Как запустить JavaScript с использованием контроллера MVC?

Я попробовал следующее, но оно не работает должным образом. Показывает загрузку файла - предупреждение безопасности?

  [AcceptVerbs(HttpVerbs.Post)]
  public ActionResult About(clsABC param)
  {
        string message = "Hello! World.";
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.Append("<script type = 'text/javascript'>");
        sb.Append("window.onload=function(){");
        sb.Append("alert('");
        sb.Append(message);
        sb.Append("')};");
        sb.Append("</script>");             
        return JavaScript(sb.ToString());   
   }

Есть ли решение этой проблемы?

Спасибо, Капил

Ответы [ 2 ]

1 голос
/ 05 февраля 2010

Вы можете загрузить и выполнить JavaScript с помощью jQuery getScript метода . В этом случае вы можете просто написать скрипт, который вы хотите выполнить в вашем действии, и вызвать его с помощью jQuery.

$.getScript("/Controller/Action", function(){
    alert('Script was loaded');
  });
});

Если вы загружаете скрипт по нажатию кнопки, не забудьте вызвать preventDefault метод, подобный этому. Это предотвратит отображение диалога загрузки файла в вашем случае.

$('selector here').click(function(e){
    e.preventDefault();
    ...Do your stuff...
  }             
);
0 голосов
/ 08 февраля 2010

Вы можете прочитать это сообщение

Платформа ASP.NET MVC поддерживает несколько типов результатов действий, включая:

  1. ViewResult - представляет HTML и разметку.
  2. EmptyResult - не представляет результата.
  3. RedirectResult - представляет перенаправление на новый URL.
  4. JsonResult - представляет результат нотации объекта JavaScript, который можно использовать в приложении AJAX.

5. JavaScriptResult - представляет скрипт JavaScript.

  1. ContentResult - представляет текстовый результат.
  2. FileContentResult - представляет загружаемый файл (с двоичным содержимым).
  3. FilePathResult - представляет загружаемый файл (с путем).
  4. FileStreamResult - представляет загружаемый файл (с потоком файлов).

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...