使用MVC Form Post发送HTML字符串

时间:2014-08-12 07:51:22

标签: javascript jquery html asp.net-mvc json

我们有MVC应用程序。我们希望为客户提供输入html文本以用于文档生成。 为此,我们加入了CK编辑器。 CK具有返回html的功能。我们想要“编码”这个Html,所以我们可以将它放在一个输入字段中,该字段将包含在表单中。

我们可以使用哪些JavaScript函数将Html字符串转换为我们可以使用formpost发送的格式。表格帖子是通过AJAX完成的。


更新: 在另一篇文章中,我们发现了这个功能:

function htmlEscape(str) {
    return String(str)
        .replace(/&/g, '&')
        .replace(/"/g, '"')
        .replace(/'/g, ''')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;');
 }

看起来这会解决问题,但有没有内置或JQuery函数可以做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以为post方法提供验证输入(false)以允许类对象中的ck编辑器内容:

[HttpPost]   
[ValidateInput(false)]  

public ActionResult SaveArticle(ArticleModel model)
{
    return view();
}

在M V C 3中,您还可以将html内容定义为[允许Html]

的模型属性
public class Article Model 
{
    [AllowHtml]

    public string Some Property { get; set; }

    public string Some Other Property { get; set; }
}

答案 1 :(得分:0)

为什么你想通过手动替换特殊字符并在隐藏字段中传递它来做长切的方式?..你可以通过声明post方法,直接在普通提交按钮上发布你的属性的html内容validateinput(假)