关键词搜索

源码搜索 ×
×

技不如人

发布2015-01-30浏览1920次

详情内容

ASP.NET MVC项目中,某个视图上,我用JS动态加载一个WebApi方法,这个方法负责显现一些表格。我将表格连同数据在这个方法里一股脑返回,也就是html标记、样式和数据都混杂在一起。

”这样逻辑不清晰,有点乱“,项目组的技术牛人说。后来他忍不住加了个子view,将表格写在里面,在controller里请求数据,再填充到这个表格里。呈现和数据分离。我认为他这样做很有道理。尽管我之前没有这样做,也有可能是项目赶,并且之前的操作先决条件已与现在不同,但不得不承认,人家就是比我强。起码我从一开始就没有这样的意识。

有关用JS动态加载子视图,方法如下:


<div id="divContainer"></div><!-- 加载子view的容器 -->


  1. <script type="text/javascript">
  2. $(function(){
  3. var url = "@Url.Content("~/Controller/MyView/888")";
  4. loadViewFromRequest("divContainer",url, {}, function(data){
  5. alert("Hello World!");
  6. });
  7. });
  8. // 异步获取部分页面
  9. // id 需要进行渲染的容器id
  10. // url 异步请求页面的url链接
  11. // params 链接附加的参数,建议json格式,会自动转换为url参数格式
  12. // onsuccess 执行成功触发事件
  13. // onerror 错误时触发事件
  14. loadViewFromRequest: function (id, url, params, onsuccess, onerror) {
  15. $.ajax(
  16. {
  17. type: 'get',
  18. url: url,
  19. data: params,
  20. contentType: "text/html; charset=utf-8",
  21. success: function (data) {
  22. if ($(id).length == 0) {//没有该容器,就TM创建一个
  23. $('body').append("<div id='" + id.replace(/#/, "") + "'></div>");
  24. }
  25. $(id).html(data);
  26. if (onsuccess != undefined && onsuccess != null) {
  27. onsuccess(data);
  28. }
  29. },
  30. error: function (data) {
  31. if (onerror != undefined && onerror != null) {
  32. onerror(data);
  33. }
  34. }
  35. });
  36. }
  37. </script>




相关技术文章

最新源码

下载排行榜

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载