zoukankan      html  css  js  c++  java
  • Ext学习心得1

    最近在学习关于Ext的相关前台框架,下面就我这几天来所遇到的一些问题的心得与体会

    1.后台的选择  

    Ext就是三层框架的最外面的应用层,它全是javascript写的,和后台无关,刚开始学Ext也是下载别人的源代码进行查看,由于我是.NET程序员,所以能用到的方式就是aspx,ashx和asmx,后2种是我用了Ext后才去了解的,习惯了asp.net真的很少去了解其他的。

    由于Ext是Js生成的自然不能直接和cs页面交互,所以刚开始接触的都是用传参的方式跳转到处理的aspx页面中,当然在Page_load然后用requset参数进行操作,这里的最大问题便是参数过多的处理很麻烦,一个个写太累。

    后来就接触了ashx,其实和aspx也差不多,就是前台的没了,然后依然要传参进行操作,后来想到用requset.form但是获得到的为空,原因不明。

    最后用到的是asmx,它是post传递,直接"文件名.asmx/方法名",前台就可以调用,真的很方便。但是刚生成的没有session,所以对权限处理很不方便,不过网上找了下首先引用using System.Web.SessionState;然后在方法前面加[WebMethod(EnableSession = true)],这样就可以了。还有在脚本调用的话就把类外面的那段注释取消掉。

    本来在用asmx前查了下Ext.direct,看了网上下的资料,实例能直接前台调用后台,而且不需要再生成别的aspx,ashx和asmx页面,只要直接引用就能使用,不过我试了下没有成功。

    2.Ext在写中遇到的麻烦

    由于纯JS脚本调试可以说挺不方便的,而且智能提示也不够灵活

        Ext.Ajax.request
    ({

    });

    这句话是前后台交互的关键吧,当然你用Ext.direct的话就不需要了.反正每次调用后台就执行这段话。

    前台用后台的方法时候,前台就一定要加jsonData:{},不管你带不带参数,不然返回的是XML

    method:'POST'这个也是必须的吧。

    后台传递到前台的语句基本是json格式,那个只要引用第三方Newtonsoft.Json就可以了

    不过由于asmx是用到了POST,所以很郁闷的是它每次返回的数据都会带上d:,这样你前台不得不用ext.decode先转成一段,然后在用ext.decode对刚那个结果的.d再进行一次操作,如果是2.0的话就没问题。后来看了一些资料后发现原来3.5以后为了区分字符串和json格式才这么做的。

    接下来就是这次时间花的最多的地方,treepanel,

    那个在GET方式下确实没问题,但是asmx是post的,所以在treeloader那边我就犯愁了。

    GET方式是用requset['node']获得节点,所以在POST下参数名一定要填node,这下就解决了,原因不明。

    然后就是返回的问题,本来后台好端端的返回json格式,但是发现到前台就变成了xml了,原因大概就是没jsonData吧

    接下来我拼命的baidu,得到的方法就是重写那个treeloader,具体的方法大家自己去搜下!

    由于本人也是初学者,能力有限,所以有什么地方有问题的可以尽管评哈哈,如果能帮上你什么忙那我更是高兴!

  • 相关阅读:
    c#中==和equals的比较
    原型指向改变如何添加方法和访问
    把随机数对象暴露给window成为全局变量
    内置对象Array的原型对象中添加方法
    构造函数可以实例化对象
    原型
    无刷新评论
    大量字符串拼接案例
    元素隐藏占位与不占位
    导航栏切换效果案例
  • 原文地址:https://www.cnblogs.com/nbjkj/p/1715059.html
Copyright © 2011-2022 走看看