![]() |
1
1
并非所有的Ajax请求都是相等的。Ajax请求可以尝试完成以下任何事情:
当您仅根据
精心设计的
行动
应该是
一致的
,它应该只关心
什么
请求是否为
怎样
已提出请求。一个可能指向其他属性,比如
说到这里,问题中陈述的目标是一个很好的目标;你应该 一定地 对于正确描述为不同操作的内容,有不同的方法:
等等。但是,使用Ajax操作选择器在这些方法之间进行选择遵循 “优雅的退化” 已被(至少在国际海事组织)取代 渐进增强 .
这就是为什么,尽管我喜欢ASP.NET MVC,但我还是尽量避免
下面是jquery中的一个示例-尽管您也可以在MS Ajax中这样做:
这就是将Ajax注入MVC页面所需的全部功能。从一个普通的旧HTML链接开始,并用Ajax调用覆盖它 转到另一个控制器操作 . 现在,如果在站点上的其他地方,您决定改用网格,但不想使用部分呈现中断页面,则可以编写类似的内容(假设您有一个单独的主细节页,左侧有一个“订单”列表,右侧有一个细节表):
这种方法将客户机行为与服务器行为完全分离。服务器有效地对客户机说: 如果您想要JSON版本, 问 对于JSON版本,顺便说一下,这里有一个脚本,如果您知道如何运行它,它可以转换您的链接。 没有动作选择器和方法重载的结尾,没有运行简单测试所需的特殊模拟,也没有对哪个动作执行什么和何时执行的混淆。只有几行javascript。控制者的动作简短而甜美,正是他们应该做的。
这不是唯一的方法。显然,像
|
![]() |
2
2
mvcfutures中的acceptyjaxattribute如何? |
![]() |
Andrus · 如何在Linux中阅读期刊 7 月前 |
![]() |
Miranda · 读取xml文件时路径错误中有非法字符 8 月前 |
![]() |
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 1 年前 |
|
Kiryl · Sitecore中自己的控制器 1 年前 |
|
Farid · 如何从数据库中填充Resource.resx文件值? 1 年前 |