2010-10-05 28 views
0

对于MVC 2的应用程序,它依赖于许多局部的意见和几乎全部使用了Ajax上岗/获取的最好的实现,这将是最好的方式实现这些消息的设置,传递,检索和显示(使用JavaScript模式)?ASP.NET MVC 2 - 状态/更新/通用消息传递和JavaScript模式显示

我的表单全部POST(通过jQuery $ .ajax)返回部分视图(html)的动作,这些动作用于更新$ .ajax函数的“success:”部分中的a。

我所期待的某种在主视图,可以“听”对于任何一个局部的观点可能会被“交付”的任何消息机制 - 通过他们的ViewData,例如。

谢谢。

编辑:

经过大量的搜索更多的,我发现类似的人试图达到同样的事情,我,但没有一个问题有一个很好的答案。 This一个最好的问题。

回答

0

你的“母版视图”将无法拥有像一个机制,你在想什么,只是因为你要求它必须认识到,可以根据可能的用户交互给它潜在的数据。

我觉得@cottsak想说的是在你的JS代码委托函数处理错误和成功事件。因此,您可以有100个Ajax请求,但只有2个函数实际处理响应。在这些函数中,您必须规范化处理响应的方式,以便您不必为特定表单编写条件。这可能需要对表单进行规范化,使其具有相同的结构和基本功能,并且仅在输入内容上有所不同。

例如笔者使用的“奇才”在我的一些网站,解决模态形式:

<div class="Wizard"> 
    <form> 
    <!-- Any and all possible content --> 
    </form> 
</div> 

我所有的课程的形式对他们有实际的投入不同,但他们都归在意识到他们有消息传递等专用元素。然而,每一个表单都由同一个JS控制,除了特殊场景的一些例外。

+0

谢谢亚历克斯。你所描述的内容与我可能实现的内容类似。我当然希望我在项目开始的时候就开始了,但是......我现在正在回顾大约25个部分的观点。 – asfsadf 2010-10-06 23:56:07

+0

不客气,是的,你将不得不再次通过你的工作,但从长远来看,你会更快乐,并为未来的发展铺平了道路,并增加了遵循已经建立的结构的功能。我花了2次重写才真正掌握如何正确使用我的“奇才”,但这是值得的。如果我现在想扩展,我会花5-10分钟的时间来完成。 – Gup3rSuR4c 2010-10-07 01:05:23

+0

如果有任何帮助,您可以在www.fthisjob.net上查看我的一个网站,其中大量使用“向导”。该网站使用我的“1.0版本”向导,但我已经清理并进一步增强了它的姊妹站点,其中包括以输入描述,错误视觉队列(行文本颜色和输入边界)的形式提高了可用性在两者之间变为红色并带有警告图标),并链接相关的“向导”。唉,“版本2.0”没有发布,所以我不能向你展示它。 – Gup3rSuR4c 2010-10-07 01:13:17

0

你应该看看Dropbox网页界面。 Get yourself a free account并使用该界面10分钟 - 复制,移动,删除文件。消息传递和验证系统非常棒。而且他们的网站上也主要是ajax。您想要的听起来像用户体验的完美例子。

至于技术实现,我一直在思考这个一段时间:
我会使用一个代理系统中的客户端的所有页面Ajax请求经历上。通过这种方式,所有响应都可以在单个函数(/对象,但是您设计它)内进行整理,因此也可以进行响应。很明显,响应是关键,这样错误消息和状态消息就可以在同一地点处理并以统一的方式呈现给用户。

服务器端它不会太难。我建议你有一个graceful degradation solution那些返回JSON或其他Ajax响应的动作,因为它们可以运行(并返回错误/状态消息)without the client having JavaScript enabled

+0

是的,第二个链接是推介插件。但是,新用户可以像我一样从激励中受益:[“一旦你的朋友注册并安装了Dropbox,你们都将获得额外的空间。”](https://www.dropbox。com/referrals) – 2010-10-06 01:07:33