我更喜欢使用jQuery和我的ASP.NET MVC应用程序而不是Microsoft Ajax库.我一直在为我的动作添加一个名为"mode"的参数,我在我的ajax调用中设置了这个参数.如果提供,我返回一个JsonViewResult.如果没有提供,我认为这是一个标准的Http帖子,我返回一个ViewResult.
我希望能够在使用jQuery时在我的控制器中使用类似于IsMvcAjaxRequest的东西,这样我就可以消除我的Actions中的额外参数.
有没有什么可以在我的控制器中提供这种功能或一些简单的方法来实现它?我不想疯狂编写代码,因为添加单个参数有效,它只是不理想.
这是除了MVC RC1发行说明 - 2009年1月
IsMvcAjaxRequest重命名为IsAjaxRequest
IsMvcAjaxRequest方法已重命名为IsAjaxRequest.作为此更改的一部分,更新了IsAjaxRequest方法以识别X-Requested-With HTTP标头.这是由Prototype.js,jQuery和Dojo等主要JavaScript库发送的众所周知的标头.
更新了ASP.NET AJAX帮助程序以在请求中发送此标头.但是,他们继续将其发送到表单帖子的正文中,以解决阻止未知标题的防火墙问题.
换句话说 - 它被特别重命名为与其他库更"兼容".
此外,对于那些没有阅读完整发行说明但一直使用以前版本的人 - 即使是最新版本 - 我强烈建议您完整阅读.它将为您节省时间,并且很可能会激发您的一些新功能.令人惊讶的是,那里有多少新东西.
重要说明:如果从Beta升级到RC1,则需要确保升级MicrosoftAjax.MVC的.js文件(不是确切的名称) - 否则此方法将无效.它不作为升级所需的任务列在发行说明中,所以不要忘记.