2011-03-29 58 views
0

我工作的MVC 2,使用Ajax.BeginForm如下<ABC与Ajax.BeginForm

<script type="text/javascript" language="javascript"> 
    function ProcessResult(responsedContent) { 
     var response = responsedContent.get_response(); 
     var result = response.get_object(); 
     alert(result); 
    } 
</script> 
    <%using(Ajax.BeginForm("Test","Home", new AjaxOptions{ OnComplete = "ProcessResult"})) 
{%> 
    <input type="text" id="txtTest" name="txtTest" /> <input id="submitTest" type="submit" value="Submit" tabindex="3"/> 
<%}%> 


    public JsonResult Test(string txtTest) 
    { 
     return Json(txtTest); 
    } 

能否请你指导我如何处理的情况下用户输入<abc到文本框txtTest?非常感谢!

回答

0

你可以尝试装饰您发布与[ValidateInput]属性控制器动作:

[HttpPost] 
[ValidateInput(false)] 
public JsonResult Test(string txtTest) 
{ 
    return Json(txtTest); 
} 

另外,如果您的应用程序针对.NET 4.0编译您可能需要添加以下在你的web.config:

<httpRuntime requestValidationMode="2.0" /> 
+0

非常感谢Darin。但它不起作用。测试功能尚未被调用。我得到运行时错误“Microsoft JScript运行时错误:Sys.ArgumentException:无法反序列化。数据不符合有效的JSON。 参数名称:data”MicrosoftAjax.js中存在异常 – khoailang 2011-03-30 03:18:16

相关问题