DIsable подсказка в проекте - PullRequest
       8

DIsable подсказка в проекте

0 голосов
/ 20 августа 2009

Есть ли способ глобально отключить всплывающие подсказки в .net-проекте Visual studio 2008. Мы реализовали всплывающую подсказку в веб-приложениях, но хотели бы отключить ее для тестирования.

1 Ответ

0 голосов
/ 20 августа 2009

Для этого вы можете использовать ControlAdapter:

namespace Your.Namespace
{
    public class ToolTipsDisablerAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
    {
        public static bool ToolTipsDisabled { get; set; }

        protected override void Render(HtmlTextWriter writer)
        {
            if (ToolTipsDisabled && Control.ToolTip != string.Empty)
            {
                Control.ToolTip = string.Empty;
            }

            base.Render(writer);
        }
    }
}

Метод Render адаптера вызывается вместо одного из элементов управления, с которым он связан. Вызов base.Render обеспечивает вызов метода Render для элемента управления после того, как адаптер изменил подсказку.

Адаптер должен быть зарегистрирован в файле определения браузера для работы:

<browsers>
  <browser refID="Default">
    <controlAdapters>
      <adapter controlType="System.Web.UI.WebControls.WebControl" adapterType="Your.Namespace.ToolTipsDisablerAdapter" />
    </controlAdapters>
  </browser>
</browsers>

Файл определения браузера должен быть размещен в каталоге App_Browsers веб-сайта с расширением .browser.

После этого вы можете включить / отключить всплывающие подсказки глобально, установив

ToolTipsDisablerAdapter.ToolTipsDisabled = testMode;

Редактировать: Поместил код в метод Render, а не PreRender. Это позволяет избежать сохранения изменений между постбэками (и засорять состояние представления бесполезными значениями всплывающей подсказки).

...