ImageUrl на время разработки пользовательского элемента управления - PullRequest
3 голосов
/ 07 июня 2010

Я создал пользовательский элемент управления со свойством ImageURL.Во время разработки, когда я ввожу изображение в ImageUrl, я получаю следующее сообщение об ошибке

Ошибка создания элемента управления - AmazeDropDownList1 '~ / Image / help.png' не может быть установлен для свойства 'ImageUrl'.

<myCompany:MyCompanyDropDownList ID="AmazeDropDownList1" runat="server" ImageUrl="~/Image/help.png">
</myCompany:MyCompanyDropDownList> 

Код для моего элемента управления показан ниже:

    [DefaultValue("")]
    [Editor("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
    [Description("Image_ImageUrl")]
    [Bindable(true)]
    [Category("Appearance")]
    [UrlProperty]
    public virtual string ImageUrl
    {
        get
        {
            string str = (string)this.ViewState["ImageUrl"];
            if (str != null)
            {
                return str;
            }
            return string.Empty;
        }
        set
        {
            this.ViewState["ImageUrl"] = value;
        }
    }

Я наследую от TextBox, ниже мой метод визуализации:

    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
        // Call the base class's Render method.
        base.Render(writer);

        if (!string.IsNullOrEmpty(this.ImageUrl))
        {
            // Create and render a new Image Web control.
            System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
            image.ID = "Image1";
            image.ImageUrl = ImageUrl;
            image.AlternateText = ImageAltText;
            image.RenderControl(writer);
        }
    }

Я был бы очень признателен за любойпомогите исправить сообщение об ошибке.

1 Ответ

1 голос
/ 07 июня 2010

Интересно, использует ли Visual Studios неверно кэшированную версию вашего элемента управления?

Вы можете попробовать очистить кеш самостоятельно. Инструкция здесь .

Или вы можете попробовать удалить элемент управления из панели инструментов (если он есть), удалить все ссылки на элементы управления со страницы (т. Е. Теги <%@ Register...), перестроить все и затем повторно добавить элемент управления. *

Окончательное предположение, ссылка на элемент управления в Web.config вместо на странице:

<system.web>
 <controls>
  <add tagPrefix="my" namespace="myCompany.Controls" 
            assembly="myCompany.Controls"/>
 </controls>
</system.web>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...