Передача значения из JavaScript в контроллер MVC - PullRequest
1 голос
/ 04 февраля 2011

Я использую tinyMCE (форматированный текстовый редактор в js).В настоящее время у меня есть такая функция:

   function GetEditorValue() {
        var val = tinyMCE.get('valueTextArea').getContent()

    }

, которая возвращает текст, введенный в редакторе форматированного текста.Теперь, есть ли способ передать эти данные с помощью POST на мой контроллер MVC и получить доступ к нему там?(Все это делается в ASP.NET MVC 2 с использованием C #)

1 Ответ

3 голосов
/ 04 февраля 2011

Вы можете отправить это значение, используя AJAX. Например, jQuery предоставляет функцию .post():

var val = tinyMCE.get('valueTextArea').getContent();
$.post('<%= Url.Action("foo") %>', { value: val }, function(result) {
    // TODO: handle the success
    alert('the value was successfully sent to the server');
});

и внутри действия вашего контроллера:

[HttpPost]
public ActionResult Foo(string value)
{
    // Do something with the value
}

Теперь, очевидно, поскольку это редактор RichText, значение может содержать опасные символы, и ASP.NET отклонит их, выдав исключение. Чтобы избежать этого, вы можете украсить действие вашего контроллера атрибутом [ValidateInput(false)]:

[HttpPost]
[ValidateInput(false)]
public ActionResult Foo(string value)
{
    // Do something with the value
}

и если вы используете ASP.NET 4.0, вы также должны добавить в ваш web.config следующее:

<httpRuntime requestValidationMode="2.0" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...