我正在钻研Ruby,我来自于ASP.NET on Rails背景。我试图理解ASP MVC是如何处理AJAX功能的,在阅读了ASP网站上的一些教程后,我发现它们实现AJAX功能的方式非常不同。RoR处理AJAX功能的一种方式是返回嵌入ruby的javascript代码,一旦浏览器接收到该代码就会立即执行。这使得实现AJAX变得非常简单和有趣。javascript MVC可以返回ASP.NET响应吗?
发布于 2010-10-21 00:42:02
只需用户返回JavaScript(脚本)
您必须在View上手动执行java脚本
更具体地说,您可以使控制器操作返回类型为JavaScriptResult
发布于 2010-10-21 00:42:06
您正在谈论的是RoR世界中的javascript生成器,而在ASP.NET MVC世界中没有类似的东西。这里有一个blog post,它演示了为ASP.NET MVC实现类似Rails的RJS的基础(博客文章使用prototypejs
,但可以很容易地修改为使用jquery
)。
这是另一种使用jquery的方法:
public ActionResult Foo()
{
return Json(new { prop1 = "value1", prop2 = "value2" });
}
和消费:
$.getJSON('/home/foo', function(result) {
// TODO: use javascript and work with the result here,
// the same way you would work in a RJS like template
// but using plain javascript
if (result.prop1 === 'value1') {
alert(result.prop2);
}
});
发布于 2010-10-21 00:53:01
同样值得一看的是JsonResult,它扩展了ActionResult。我通常在对某种数据进行AJAX请求时使用它。
https://stackoverflow.com/questions/3980236
复制相似问题