我在后台里面定义了html变量,然后在Page_Load里面赋值    protected string html = "";    protected void Page_Load(object sender, EventArgs e)
    {   html="<asp:LinkButton ID='link' runat='server' OnClick='link()'>会不会弹出来</asp:LinkButton>";         }    private void link(object sender, EventArgs e)
    {
        Page.RegisterStartupScript("abc", "alert('弹出来罗!');");
    }  我在前台调用<%=html%>  然后单击网页上显示出来的'会不会弹出来',没有任何反应,怎样才能让平常的LinkButton一样呢

解决方案 »

  1.   


        protected void Page_Load(object sender, EventArgs e)
        {        LinkButton lb = new LinkButton();
            lb.ID = "lbLink";
            lb.Text = "会不会弹出来";
            lb.Click += new EventHandler(lb_Click);
            this.form1.Controls.Add(lb);
    }
        void lb_Click(object sender, EventArgs e)
        {
            Page.RegisterStartupScript("abc", "alert('弹出来罗!');"); 
        }
      

  2.   

    必须放在onint事件中!! 重写onint写在Page_Load是不可以的!
      

  3.   

    哦,原来是这样子呀。this.form1.Controls.Add(lb);是不是就不能定位在哪个地方显示?
      

  4.   

    能定位,你可以先在页面上加个panel或者table.
    panel1..Controls.Add(lb);
      

  5.   

    比如像树之类的东东本来是超链接的,但刷新太厉害,改为linkbutton
      

  6.   

      protected void Page_Load(object sender, EventArgs e) 
        {   html=" <asp:LinkButton ID='link' runat='server' OnClick='link()'>会不会弹出来 </asp:LinkButton>";        }
    你看看网页源文件中没有类似的<asp: 之类的标签吧?所以你想在文件中写入:<asp:LinkButton 之类的,浏览器是不理解的,它不会去解释它。我们在设计的时候可以用<asp 之类的,是因为这类的标签会被解释为<input 之类的标签。
    所以直接向页面输出<asp:之类的不行。
      

  7.   

     这个代码还能弄到Controls.add()的样子吗?
    private void ptberu()
        {
            htmlr = "<ul id='containerul'>";        string sqlstr = "select * from g_Dept where deptUpperID=1 Order by deptName";
            DataTable tabfa = meth.Query(sqlstr).Tables[0];
            for (int i = 0; i < tabfa.Rows.Count; i++)//循环判断首节点
            {
                string bigClass = tabfa.Rows[i]["deptName"].ToString();
                string Sup = meth.Query(sqlstr).Tables[0].Rows[i]["deptID"].ToString();            // htmlr += "<li><asp:LinkButton ID='link" + i + "' runat='server' OnClick='Link_Click'>"+bigClass+"</asp:LinkButton>" +
                 //   "<asp:HiddenField ID='hidlink" + i + "' runat='server' Value='" + Sup + "'/>";            sonPhtion(Sup,i);
                htmlr += "</li>";        }
            htmlr += "</ul>"; 
            htmlr += "<script type='text/javascript'>";
            htmlr += "initiate()";
            htmlr += "</script>";
        }    private void sonPhtion(string sup,int i)
        {
            string sontab = "select * from g_Dept where deptUpperID=" + sup+" Order by deptName";
            DataTable tabson = meth.Query(sontab).Tables[0];
            if (tabson.Rows.Count > 0)
            {
                htmlr += "<ul>";
                for (int j = 0; j < tabson.Rows.Count; j++)//循环判断子节点
                {
                    string smallName = tabson.Rows[j]["deptName"].ToString();                string samllNum = tabson.Rows[j]["deptID"].ToString();
                  
                    htmlr += "<li><asp:LinkButton ID='note" + i + "_" + j + "' runat='server'  OnClick='Link_Click'>"+smallName+"</asp:LinkButton>" +
                    "<asp:HiddenField ID='hidnote"+i+"_"+j+"' runat='server' Value='"+samllNum+"'/>";
                    sonPhtion(samllNum,j);
                    htmlr += "</li>";
                }
                htmlr += "</ul>";
            }
        }    protected void Link_Click(object sender, EventArgs e)
        {
            LinkButton lb = (LinkButton)sender;
            HiddenField hid = (HiddenField)Page.FindControl("hid"+lb.ID);
            Page.RegisterStartupScript("abc", "alert('"+lb.ID+","+hid.Value+"');");
        }
      

  8.   


    方法1:如果是tree有关的,可以选择treeview控件绑定
    方法2:思路有问题,可以写成这样:
    htmlr += " <li> <a href='#' onclick=alert('123')>内容</a></li>";
      

  9.   

    能不能用javascript传值给同一个页面的服务器控件呢?我现在用的是用超链接改变iframe里面的网页里的值头晕晕的,早知道昨天就不要四点钟才睡啦,啊~~~~~~~~~~~~~~~
      

  10.   

    问的好抽象。是不是这个意思:左边有个导航栏,右边是个iframe,点左边的导航栏右边是个iframe里的页面跟着变。
      

  11.   

    思路不对,你这个树要用js控制,不要使用服务器控件。传值可以用url传递。
      

  12.   

    可是用URL传值,右边那个页面刷新太厉害了,虽然加了UpdatePanel,感觉跟没加一样,而且当右边iframe里面的网页点击修改按钮时,左边的类别树也会相应刷新,左边的类别树又是父页面,一刷新,右边的子页面也跟着刷新。My God,用了vs2008这个好东西,还不知道怎么用,干脆去撞豆腐得了
      

  13.   

    接例子:
    左边的iframe中可以通过js获得或者设置右边的iframe中的控件的值,
    例如:在页面left.aspx中写js: parent.document.frames['main'].location.href='c.aspx?a=1';<html> 
    <meta http-equiv=Content-Type content=text/html;charset=gb2312> 
    <title>mobaihuo网站后台免费提供_脚本之家_www.jb51.net</title> 
    <!--这里的样式的重点是指当鼠标移到三角按钮时变成手掌--> 
    <style type="text/css"> 
    .navPoint {COLOR: white; CURSOR: hand; FONT-FAMILY: Webdings; FONT-SIZE: 9pt} 
    .a2{BACKGROUND-COLOR: A4B6D7;} 
    </style> 
    <!--onresize 事件 发生在窗口被调整大小的时候。carnoc是左边FRAME的ID。--> 
    <body style="MARGIN: 0px" scroll=no onResize=javascript:parent.carnoc.location.reload()> 
    <TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 width="100%" border=0> 
    <TR> 
    <TD align=center width="100%" height=25 bgcolor="#B1C1E0" style="COLOR: #330099; font: 10.5pt" 
    ><B>mobaihuo网站后台免费提供</B> 
    </TD> 
    </TR> 
    </TABLE> 
    <!--以下代码就是重点,屏幕切换点击后相应的向左或者向右展开--> 
    <script> 
    if(self!=top){top.location=self.location;} 
    function switchSysBar(){ 
    if (switchPoint.innerText==3){ 
    switchPoint.innerText=4 
    document.all("frmTitle").style.display="none" 
    }else{ 
    switchPoint.innerText=3 
    document.all("frmTitle").style.display="" 
    }} 
    </script> 
    <!--以上代码就是重点,屏幕切换点击后相应的向左或者向右展开--> 
    <table border="0" cellPadding="0" cellSpacing="0" height="100%" width="100%"> 
      <tr> 
        <td width="30" align="middle" vAlign="center" noWrap id="frmTitle"><!--注意这里的ID,它返回给上面那段javascript的--> 
         
        <!--以下是左边的FRAME,你只要做一个宽为180PX的页面嵌套进去就可以了。当然你也可以修改这句里WIDTH的值为你叶子的宽度--> 
        <iframe frameBorder="0" id="left" name="left" scrolling=auto src="left.aspx" style="HEIGHT: 100%; VISIBILITY: inherit; WIDTH: 180px; Z-INDEX: 2">    </iframe>    </td> 
        <!--同志们请注意下面这个TD,它的颜色就是中间跑来跑去分栏部分的颜色,你可以在这里将颜色改成与你页面融洽的颜色--> 
         
        <td width="46" bgcolor="#708EC7" style="WIDTH: 9pt"> 
         
        <!--哈哈,看到了吧,中间的那个跑来跑去的栏实际上去一个TABLE哦!TABle的宽度就是那条栏的宽度--> 
        <table width="9" height="100%" border="0" cellpadding="0" cellspacing="0"> 
          <tr> 
            <td width="200" style="HEIGHT: 100%" onClick="switchSysBar()"><!--这里调用上面的switchSysBar过程--> 
                <font style="FONT-SIZE: 9pt; CURSOR: default; COLOR: #ffffff"> 
                <!--这里你可以把3改成1或者其他数字来看看就发现了是形状问题了--> 
                <span class="navPoint" id="switchPoint" title="关闭/打开左栏">3</span>
              屏幕切换 </font></td> 
          </tr> 
        </table></td> 
            <td width="100%">  
    <iframe frameBorder="0" id="main" name="main" scrolling=auto src="http://www.g.cn" style="HEIGHT: 100%; VISIBILITY: inherit; WIDTH: 100%; Z-INDEX: 2">    </iframe>
    </td> 
      </tr> 
    </table> 
    </html> 
      

  14.   

    最后一个问题:右边的iframe刷新问题?
      

  15.   

    切换页面当然要刷新了啊,就刷一下没什么影响的,怎么会刷的很厉害?你切换一次页面就刷一次这不是正常的吗?如果你一点刷新都不要就用ajax做,如果不会用ajax就学,别的办法没了。
    我觉得不刷新的页面用起来很不舒服,点了一个连接之后要仔细观察一下看页面变没变,当然,你如果给个跳转的提示也行。整体页面不刷新没有必要,如果是局部页面不刷新还值得一做。
      

  16.   


    PS: 
    我的目标是 ----> ^_^