首先,小弟在做的是网站,不是WEB应用程序。这个级联下拉列表根据要求,不能放在Form里;同时数据需要从数据库里取。所以虽然可以考虑使用Ajax,但是页面展现的时候的数据怎么处理?小弟没有头绪。曾经想过从后台发个脚本块画一个隐藏控件啥的,但是无奈不知道怎么下手,有劳各位给小弟出出主意,多谢多谢

解决方案 »

  1.   

    感谢1楼。小弟目前也是这么打算的,不过没有实际操作过,所以具体问题很多。比如,数据读出来之后怎么保存在前台?页面上不允许有form,那也就是说不能使用ASP控件或者runat=server的控件,所以通过后台赋值似乎不显示。又或者从后台输出一个控件,里面包含着数据字符串?但是小弟在后台用ClientScript.ReisterStartupScript()函数写了一段document.write,前台取不到。所以不知道还有其他方法吗?
      

  2.   

    ajax调用 web services实现
      

  3.   

    数据量不大的话就一次性取出吧,然后放到javascript.Array中
    量大的话就只有用ajax异步获取了
      

  4.   

    用data service好写吧,选择josn传输
    又快又方便,jquery里面好像提供了些好的js
      

  5.   


    数据量确实不大,不过小弟不知道这个后台获取到的数据怎么放在javascript.Array里面,您能举个例子吗?
      

  6.   

    放到Array就不如使用JSON但是这个需求很有意思,不能有form,直接一个静态html使用Ajax
      

  7.   

    还是尽量用JS来实现比较好 减少请求 而且JS客户端会缓存 提高页面打开速度
      

  8.   

    用Ajax 那就简单多了
    如果不能用的话
    你试看看这样。
    你在页面加载的时候 从数据库中读取数据。
    1、把他保存到页面,用隐藏控件,然后再用js在页面做处理;
    2、保存到 huViewState里面,然后再用js在页面做处理;可参见以下代码
    后台cs
    ViewState["show"] ="0";
    html
    //  請輸入公司代號
    function TextComNo(ComNo)
    {
    var show =eval(<%= ViewState["show"] %>);//PM權限 0 隱藏 ,1顯示
    if(show!=0)
    {
        if( window.event.keyCode == "13" )
                        {
                            if(ComNo.value!="")
                            {
                               // var key = document.getElementById('txtComNo').value.split(',');
                                return true;
                            }
                            else
                            {
                                alert('請輸入公司代號!');
                                return false;
                            }
                }
    }
        
    }