首页有个登陆的按钮,鼠标经过时就会显示aspx页面的地址,如何让它不显示,或通过设置XXX属性显示其他URL。先说下 IE7下 window.status属性默认是不可用的。 不用告诉我设置这个属性了。还有应该也不需要 winopen()了吧。有没有高手能解决啊? 

解决方案 »

  1.   

    这个其实把form的action属性修改就可以了,定义MyPage类,继承自Page,然后添加下面的代码,你把你要隐藏Url的页面继承自MyPage就可以了。    public class MyPage : System.Web.UI.Page
        {
            /// <summary>
            /// 调用自己自定义的HtmlTextWriter来渲染页面
            /// </summary>
            /// <param name="writer"></param>
            protected override void Render(HtmlTextWriter writer)
            {
                if (writer is System.Web.UI.Html32TextWriter)
                {
                    writer = new FormFixerHtml32TextWriter(writer.InnerWriter);
                }
                else
                {
                    writer = new FormFixerHtmlTextWriter(writer.InnerWriter);
                }
                base.Render(writer);
            }
        }
        /// <summary>
        /// 自定义HtmlTextWriter
        /// </summary>
        internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter
        {
            private string _url; // 假的URL        internal FormFixerHtml32TextWriter(TextWriter writer)
                : base(writer)
            {
                _url = "www.baidu.com";
            }        public override void WriteAttribute(string name, string value, bool encode)
            {
                if (_url != null && string.Compare(name, "action", true) == 0)
                {
                    value = _url;
                }
                base.WriteAttribute(name, value, encode);        }
            
        }
        /// <summary>
        /// 自定义HtmlTextWriter
        /// </summary>
        internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter
        {
            private string _url;
            internal FormFixerHtmlTextWriter(TextWriter writer)
                : base(writer)
            {
                _url ="www.baidu.com";
            }        public override void WriteAttribute(string name, string value, bool encode)
            {
                if (_url != null && string.Compare(name, "action", true) == 0)
                {
                    value = _url;
                }
                base.WriteAttribute(name, value, encode);
            }
        }