你可以用guid包含的字符生成一个长度相同的伪guid,或者连接sql server数据库用select newid()进行生成

解决方案 »

  1.   

    谢谢孟子E章。
    那我怎样保证获取每次取得的都是不一样的值呢?是不是JAVASCRIPT里不能获得真正的GUID啊?
    我想把他在客户端解决掉。如果实在不行用xmlhttp去服务端生成一个。不过这样多一次http连接觉得不核算。
      

  2.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var TypeLib  = new ActiveXObject( "Scriptlet.TypeLib" );
    strGUID = TypeLib.Guid;
    alert ( strGUID );
    //-->
    </SCRIPT>
      

  3.   

    楼主能说一下吗,是在什么情况下,客户端需要guid
    迷惑中
      

  4.   

    多谢fantiny,你的方法很好用。不过需要弹对话框让用户确认activeX安全性。这样我宁可选择无缝的后台获取。不过你的方法确实实现了客户端获取guid。非常感谢。至于什么情况下需要guid,那简直太多了。任何需要唯一表示一个对象的地方都需要guid啊。就比如我的case,我让用户输入产品信息,用户可以不断的增加,修改,删除已经增加的产品信息。这个信息都是放在客户端的。还没有保存到数据库。等到用户选择保存的时候装成一个XML传回服务端。那我要区别各个产品不是需要用guid吗?
      

  5.   

    个人之见,回答是:“这样的情况不需要在客户端生成guid”在客户端新增的临时明细,不设其id,
    数据传到服务端,到往DB里增加时,再在服务端生成guid
      

  6.   

    实践证明,没有这个id不行。
    因为新增上去的项目并不是不能修改了呀,你要修改这个总得要能定位到他吧。这就需要通过ID来筛选。
    谢谢,JK。
      

  7.   

    回复人: JK_10000(JK) 2005-06-22 10:27:00  得分: 0  
    里的“不设其id”指“不设其guid值”,不是指“不为对象命名ID”。
    如果仅仅是因为“(客户端)要能定位到他(新增的某条明细)”
    而去服务端生成新guid再回填
    似乎是走了弯路。
    “要能定位到他”,完全可以用其它简单方式做到多言了
      

  8.   

    有理,我目前就是自己做了一个id。不是guid。但可以保证在这个客户端里是高几率唯一的。等传到服务端保存的时候再用guid代替。主要是总觉得guid这个东东很常用。若是直接能从客户端生成可以省去服务端分拣再复制的麻烦。所以顺道问一问。觉得没理由不能在javascript端生成。看样子确实有点困难也不追究了。谢谢JK