当前位置:编程学习 > C#/ASP.NET >>

在后台注册脚本里有‘<’ 到页面中却显示&lt;


string[] top = new string[] { "决策支持", "项目管理" };
            Control cont = new Control();
            for (int i = 0; i < top.Length; i++)
            {
                HtmlGenericControl HtmlLi = new HtmlGenericControl("li");
                HtmlAnchor a = new HtmlAnchor();
                a.HRef = "#";
                Label lab = new Label();
                lab.Text = top[i].ToString();
                a.Controls.Add(lab);
                a.ID = "mynav" + i.ToString();

                HtmlLi.Controls.Add(a);
                string ul = getUrlAndName(top[i].ToString());
                a.Attributes.Add("onclick", "javascript:var p = window.createPopup();p.document.body.style.backgroundColor = '#FFFF00';p.document.body.innerHTML = '"+ul+"';p.show(" + (i * 85 + 500).ToString() + ",115,200,200,document.body);getBg(" + i.ToString() + ")".ToString());
                cont.Controls.Add(HtmlLi);
            }
            nav.Controls.Add(cont);
        }
        protected string getUrlAndName(string topName)
        {
            string UrlName = string.Empty;
            //决策哈希集合
            Hashtable jchx = new Hashtable();
            jchx.Add("决策1", "1.html");
            jchx.Add("决策2", "2.html");

            //项目哈希集合
            Hashtable xmhx = new Hashtable();
            xmhx.Add("项目1", "1.html");
            xmhx.Add("项目2", "2.html");

            UrlName += "<ul>";
            if (topName=="决策支持")
            {
                foreach (DictionaryEntry jc in jchx)
                {
                    UrlName += "<li>" +
                                 "<a href='" + jc.Value + "'>" +
                                 jc.Key +
                                 "</a>" +
                               "</li>";
                }
            }
            else if (topName=="项目管理")
            {
                foreach (DictionaryEntry jc in xmhx)
                {
                    UrlName += "<li>" +
                                 "<a href='" + jc.Value + "'>" +
                                 jc.Key +
                                 "</a>" +
                               "</li>";
                }
            }
            else
            {
                UrlName += "<li>没有</li>";
            }
            UrlName += "</ul>";
            return UrlName;
        }





这样写是为了跨Frame  如果不这样有没有更好的建议
--------------------编程问答-------------------- Attributes.Add("onclick", "test();"); 
不要写在服务器控件的属性里面 --------------------编程问答-------------------- 那怎么改呢   --------------------编程问答-------------------- Attributes.Add("onclick", "test(" + 结构体 + ");");

function test()
{
    //弹出的菜单在这里生成

补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,