Asp.net mvc 当输入字段中有HTML标记时,不提交Ajax表单

Asp.net mvc 当输入字段中有HTML标记时,不提交Ajax表单,asp.net-mvc,asp.net-ajax,Asp.net Mvc,Asp.net Ajax,我开始使用Ajax,发现了一个(希望如此)似乎无法找到答案的小问题 我在页面上生成一个Ajax表单列表,代码如下所示 using (Ajax.BeginForm("FixTranslation", new { translationId = errorGroup.Key.Id }, new AjaxOptions { UpdateTargetId = "targetCell_" + errorList.Key.Id })) { <table>

我开始使用Ajax,发现了一个(希望如此)似乎无法找到答案的小问题

我在页面上生成一个Ajax表单列表,代码如下所示

using (Ajax.BeginForm("FixTranslation", new { translationId = errorGroup.Key.Id }, new AjaxOptions { UpdateTargetId = "targetCell_" + errorList.Key.Id }))
{            
    <table>
        <tbody>
            <tr><td>@errorGroup.SourceText</td></tr>
            <tr><td id="@("targetCell_" + errorGroup.Id)"><input type="text" name="text" id="@("target_" + errorGroup.Id)" value="@(errorGroup.TargetText.Replace(' ', (char)0x00A0))" /><input type="submit" value="Fix" /></td></tr>

                @foreach (var error in errorGroup.Value)
                {            
                    <tr><td>@error.Description</td></tr>
                }                

            </tbody>
        </table>
    }
如果输入字段中没有尖括号,则可以正常发送表单。但是,当输入字段中有一些尖括号(例如“This is text with tags”)时,根本不会调用我的操作方法

有人知道为什么会这样吗


非常感谢。

已解决。这不是特定于Ajax表单的,原因是请求验证,对于特定的操作方法,可以通过这种方式关闭请求验证:

[ValidateInput(false)]
public ActionResult FixTranslation(string projectId, int translationId, string text)
{
    ...
}

解决了。这不是特定于Ajax表单的,原因是请求验证,对于特定的操作方法,可以通过这种方式关闭请求验证:

[ValidateInput(false)]
public ActionResult FixTranslation(string projectId, int translationId, string text)
{
    ...
}