如我的一个 Action 完成了相关的增改操作后,需要调用一个JS弹出对话框,在以前的webform里可以直接使用page.RegisterStartupScript(key, "<script language='javascript' defer>alert('success!');</script>");这样来实现,可在MVC里已不能这样用了,也在一些国外论坛里问过,有人说这要把JS直接写到view里,但我却不明白如果写到VIEW里要如何调用呢?什么时候去触发这个JS function?

解决方案 »

  1.   

    用的是AJAX,CONTROLLER返回一个STRING,包含JSON,然后在AJAX的方法里有个响应后执行的方法,在那个方法里把要的东西解析出来。如果是SUBMIT的方式的话,你可以把他放在ViewData里,到前台也是用JS。好像没有类似于ASP.NET原来那种直接后台发送脚本到前台执行的方法
      

  2.   

    结果卸载viewdata["..."]里面, 之后在页面</body>前调用一下viewdata["..."]就可以了.
      

  3.   

    不要用webform的思维去搞mvc。不要询问如何给汽车加上拴牲口的柱子怎么做。如果你需要提示成功,你应该放入Controller里面,转到一个提示成功的View。
      

  4.   

    所谓asp.net mvc(实际上应该追述到structs,可是这里不是java论坛就不说了),它真正有利于开发交互式应用程序?使用号称是mvc模式的僵化开发,开发者进入了一个误区,你在control开发中大量去开发view代码,还以为在玩什么mvc嘛!!
      

  5.   

    一个交互设计界面组件的设计核心就是view,一切都应该从view出发来设计。如果继续在微软平台上开发客户端软件,看看xaml,你就知道几十年前的mvc已经发展到什么水平了。
      

  6.   

    return content("<script>alert('你想说的话')</script>")
      

  7.   

    嗯,感谢大家的建议,看了除了使用AJAX提交外,也没什么更好的办法,但用AJAX我感觉又失去了使用MVC的一些特性,看来也只有跳到另一个VIEW页面已作说明了,就像以前的ASP那样了,呵