本帖最后由 a1420078774 于 2010-02-06 23:58:46 编辑

解决方案 »

  1.   

    js是在客户端执行的,服务器控件时在服务器端执行的代码,最终都是要生成html代码的,先弄清楚客户端与服务器端你就不会再问这个问题了。
      

  2.   

    我知道不太好实现才问大家的.那大家用什么变通的方法也行...比如 
    document.writeln("        <asp:DropDownList ID=\"DropDownList1\" runat=\"server\">"); 
    document.writeln("        <\/asp:DropDownList>"); 不一定要用服务器控件.只要能实现: 
    1.后台能给他赋值 
    2.这个控件在JS中写的. 牛人继续啊................................. 
    ajax或许可以把...............................
      

  3.   

    我想了个变通的.比如我用JS创建了个层.现在服务器控件改在页面上直接写了.那怎么样实现点击一个按钮让创建的层上出现服务器控件呢?
    详细:JS创建一个层,层上有3行3列的表格,在页面上托了一个DropDownList ,我怎么点击一个按钮实现DropDownList 在创建层的表格的第2行第3列呢?这个应该能实现.运行能通过的源码.马上结贴.多谢大家啊!
      

  4.   

    楼主,你的想象力很不错,呵呵。值得赞扬,自己也提出了曲线救国策略了。
    你的目的,js动态创建出一个控件,这个控件的值却要后台来赋值,你得弄清楚,js跑在客户端,服务器端控件是需要从服务器端解析后输出的,你在客户端随便建几个控件,服务器是不会承认的,好比如你买了火车票1号座位,你自己改成2号,火车站肯定不承认。所以,解决方法就是,你用js动态的创建html元素,这个没问题,现在的关键是,你动态创建的元素要有值,要有事件,那就用到ajax了,通过ajax动态的从服务器端获取数据,填充到你的客户端html元素中,然后给其绑定事件,就可以了!不知明白否!
      

  5.   

    HtmlGenericControl div;
    TextBox txt;
                    div = new HtmlGenericControl();
                    div.TagName = "div";
                    div.ID = "divTextBox1";
                    div.Attributes["class"] = "item2";
                    txt = new TextBox();
                    txt.ID = "txt1";
                    txt.CssClass = "input";
                    div.Controls.Add(txt);
                    this.Controls.Add(div);把控件设置为服务器标记时候vs要编译
    int i=1;
    Control c= ParseControl(" <table><tr><td><asp:TextBox ID='TextBox" + i+ "' runat='server'></asp:TextBox></td><td></td><tr></table>"); 
      

  6.   

    我想了个变通的.比如我用JS创建了个层.现在服务器控件改在页面上直接写了.那怎么样实现点击一个按钮让创建的层上出现服务器控件呢? 
    详细:JS创建一个层,层上有3行3列的表格,在页面上托了一个DropDownList ,我怎么点击一个按钮实现DropDownList 在创建层的表格的第2行第3列呢? 这个应该能实现.运行能通过的源码.马上结贴.多谢大家啊! 根据这个.那么JS就是只创建HTML,服务器控件依然是页面托.这个很简单. 
    关键是怎么把服务器控件放在用JS创建页面的指定位置.!!