将值从javascript传递到mvc控制器

将值从javascript传递到mvc控制器,javascript,jquery,asp.net-mvc-2,tinymce,Javascript,Jquery,Asp.net Mvc 2,Tinymce,我正在使用tinyMCE(js中的富文本编辑器)。 目前,我有一个功能: function GetEditorValue() { var val = tinyMCE.get('valueTextArea').getContent() } 返回输入到富文本编辑器中的文本。 现在,有没有一种方法可以使用POST将这些数据传递给我的mvc控制器 在那里访问它? (所有这些都是在ASP.NET MVC 2中使用C#完成的)您可以使用AJAX发送此值。例如,提供以下功能:

我正在使用tinyMCE(js中的富文本编辑器)。 目前,我有一个功能:

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

    }
返回输入到富文本编辑器中的文本。 现在,有没有一种方法可以使用POST将这些数据传递给我的mvc控制器 在那里访问它?
(所有这些都是在ASP.NET MVC 2中使用C#完成的)

您可以使用AJAX发送此值。例如,提供以下功能:

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');
});
现在很明显,因为这是一个RichText编辑器,所以该值可能包含危险字符,ASP.NET将通过抛出异常来拒绝这些字符。要避免这种情况,可以使用以下属性装饰控制器操作:

[HttpPost]
[ValidateInput(false)]
public ActionResult Foo(string value)
{
    // Do something with the value
}
如果您使用的是ASP.NET 4.0,还应将以下内容添加到web.config中:

<httpRuntime requestValidationMode="2.0" />


这看起来肯定是答案,即使在我的例子中,没有调用我的控制器方法。不过,我会自己解决这一部分。非常感谢。@snwr,可能有一些javascript错误?萤火虫说什么?您能看到发送的AJAX请求吗?没有javascript错误,而且根据firebug(并传递参数的正确值),my$.post肯定会被命中。然而,我在控制器上的断点没有被击中。实际上,我解决了这个问题。尽管如此,控制器方法内部的字符串仍然为null(尽管正在调用控制器)@snwr,当您在FireBug中查看请求时,您应该看到POST正文中发送了
value=somevalue
。然后,在控制器操作中,您应该能够返回
。请注意,控制器操作中的参数名称应与传递值参数的名称匹配。
<httpRuntime requestValidationMode="2.0" />