我的视图中有一个字段,名为Comments
,每当我在{&n;输入&#39;中的任何其他字符(字母等)之前包含<
时,动作控制器没有被调用,我认为是因为无法正确解析字符串,
这是我的类中的属性声明的方式:
[Display(Name = "Comments"), DataType(DataType.MultilineText)]
public string my_comments { get; set; }
输入任何单词时都可以正常工作,例如:
dog
,ddd@ddd.com
,>asa?
但如果我尝试这样的话:
<ddd@ddd.com>
,<p
,<asa>
,asasd<f
该动作未被调用,我认为是因为这无法将输入解析为字符串...
如果我在最后添加<
字符,那么它没有问题..例如:
ddd<
我在我看来使用JQuery:
$("#btnSubmit").click(function () {
$.ajax({
type: 'post',
url: $("#btnSubmit").data("url"),
data: $("#formEd").serialize(),
success: function (result) {
....
}})
})
HTML:
<div class="form-group">
<div class="control-label col-md-2">Comments</div>
<div class="col-md-5">
@Html.EditorFor(model => model.my_comments , new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.my_comments , "", new { @class = "text-danger" })
</div>
</div>
我的动作控制器:
[HTTPPost]
public ActionResult MyAction(MyClass parameter) // where MyClass contains the my_comments property...
答案 0 :(得分:1)
您可以添加属性以禁用输入验证,但您必须确保确定要允许html。
[ValidateInput(false)]
[HTTPPost]
public ActionResult MyAction(MyClass parameter)
您还可以将属性添加到变量中以允许使用html。
[Display(Name = "Comments"), DataType(DataType.MultilineText)]
[AllowHtml]
public string my_comments { get; set; }