可以把这个做成一个服务器控件public class ContextMenu: System.Web.UI.Control
{
    string _s=string.Empty;
    ……
 
     protected override void OnPreRender(System.EventArgs e)
     {
        _s=@"<div id="rightKeyMenu" style="BORDER-RIGHT: #333333 1px solid;    BORDER-TOP: #333333 1px solid; DISPLAY: none; Z-INDEX: 100; BORDER-LEFT: #333333 1px solid; WIDTH: 80px; BORDER-BOTTOM: #333333 1px solid; POSITION: absolute; HEIGHT: 120px; BACKGROUND-COLOR: #eeeeee" onclick="event.cancelBubble=true;">"
      
     //从数据库读取数据
       //循环输出,赋值给_s
       
    _s+="</div>";
            }
 
    //重写render
    protected override void Render(System.Web.UI.HtmlTextWriter writer)
   {
         writer.Write(_s);    }
}

解决方案 »

  1.   

    在服务器端代码编写:
    public void SetMenu()
    {
         从数据库取出菜单项。
         然后用response.write输出脚本。
         this.response.write("<div id="rightKeyMenu" style="BORDER-RIGHT: #333333 1px solid; BORDER-TOP: ")'
         this.response.write("............");
         这样可以把你的菜单项设定好。
    }然后在客户端代码加入:
    <% SetMenu();%>
      

  2.   

    cyp503(谁怕?一蓑烟雨任平生) 说的也没错,
    编写一个服务器端控件是更好的选择。