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

asp.net自定控件设计时不能显示图片

1.我的图片都放在了Resources文件夹中
2.在这个文件中的图片“生成操作”时,我都改成了“嵌入的资源”
3.资源路径我也映射了
4.我的文件夹路径为:MutiMenuCtl                                 //工程名称
                         |----Resources                         //资源文件夹         
                                  |----MutiMenuCtl.gif          //设计时要显示的图片



//??????????????????????????????????????????

问题:我想问问各位老大,为什么在控件设计时(也就是将控件拖到页面的时候,为什么显示不出来我的图片)?


//==========以下为代码部分(映射和导出都在这里面),请各位老大,老大中的老大帮忙看看================


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Drawing;



[assembly: WebResource("MutiMenuCtl.Resources.MutiMenuCtl.gif", "image/gif")]
namespace MutiMenuCtl
{
    //初始化控件项目
    [
      
      DefaultProperty("Text"),
      ToolboxData("<{0}:MutiMenuCtl runat=server></{0}:MutiMenuCtl>"),
      ToolboxBitmap(typeof(MutiMenuCtl), "Resources.MutiMenuIco.bmp"),
    ]


    
    public class MutiMenuCtl : CompositeControl
    {
        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("")]
        [Localizable(true)]
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? "[" + this.ID + "]" : s);
                
            }

            set
            {
                ViewState["Text"] = value;
            }

           
        }



    /// <summary>
        /// 输出控件风格
        /// </summary>
        /// <param name="output"></param>
        protected override void RenderContents(HtmlTextWriter output)
        {

           

                output.Write("<img src="+this.Page.ClientScript.GetWebResourceUrl(this.GetType(),"MutiMenuCtl.Resources.MutiMenuCtl.gif")+" />");


        }


    }
}
--------------------编程问答-------------------- 先调试看MutiMenuCtl.Resources.MutiMenuCtl.gif路径是什么 --------------------编程问答-------------------- 调试过了,都是一串乱码,怎么看,有不有好的调试方法 --------------------编程问答-------------------- 这是调试时的返回值:
 /WebResource.axd?d=OE2chAPZlpV1_P_-NzRaoNZIKNq-PjuZGJeg8xgZbL82AtjDVpTZIYgl95XHAfyBKRJAZoGTvM05Uap4hmfU4A2&t=634088401540000000


这是说的什么意思 --------------------编程问答--------------------  Type t = typeof(System.Web.Handlers.AssemblyResourceLoader);
        object[] args = new object[] { typeof(Page), "WebForms.js", true };

        BindingFlags bindingFlags = BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod;

        string result = (string)(t.InvokeMember("GetWebResourceUrl", bindingFlags, null, null, args));

        Page.ClientScript.RegisterStartupScript(typeof(_Default), "abc", String.Format("<script src=\"{0}\" type=\"text/javascript\"></script>", result)); --------------------编程问答--------------------
引用 4 楼 t_long 的回复:
Type t = typeof(System.Web.Handlers.AssemblyResourceLoader);
  object[] args = new object[] { typeof(Page), "WebForms.js", true };

  BindingFlags bindingFlags = BindingFlags.DeclaredOnly | Binding……


你这段代码是要将“GetWebResourceUrl"还原还是,什么 --------------------编程问答-------------------- 你把简单的问题搞复杂了,我现在是想把复杂的问题变简单 --------------------编程问答-------------------- 这跟注册启动脚本有什么关系,我只是想调用资源文件夹中的图片资源 --------------------编程问答-------------------- 他把那个路径加密 了,是想看看那个路径
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,