Пользовательский элемент управления «Кнопка со значком» разработан для следующих распространенных операций:
--------------------------
На странице сохранена [значок + кнопка] или [ImageButton] для реализации общей функции сохранения. После нажатия на операцию сохранения сначала можно выполнить js-проверку соответствующих полей страницы, а затем после проверки можно выполнить фоновую отправку. Он может реагировать на изменения стиля при наведении курсора мыши и других событиях.
Разработанный пользовательский элемент управления «кнопка-иконка» должен отвечать как минимум следующим функциональным требованиям:
------------------------------------------
1. Состоит из значков + текста.
Путь к значку можно изменить, чтобы он был пустым, что означает отсутствие значка.
Текстовое отображение можно изменить
2. Вся система должна реагировать и обрабатывать событие onclick набора js для «кнопки со значком» на странице, где она расположена.
Если нет события onclick, которое необходимо обработать, оно не будет обработано.
3. Общая необходимость реагировать и обрабатывать событие OnClick сервера.
Если нет события OnClick, которое необходимо обработать, оно не будет обработано.
4. Общий ответ необходимо отключить.
Видимость присуща самому элементу управления
5. Необходимость реагировать на изменения стиля при таких событиях, как onmouseover.
Ниже приводится краткое объяснение метода
1. Создайте пользовательский элемент управления [текстовая кнопка со значком].
В состав элемента управления входят следующие части:
Контроль раскладки стола,
Заполнитель для динамически выводимого изображения,
Заполнитель для динамического вывода текста,
Скрытая кнопка, которая срабатывает в ответ на событие OnClick.
<таблица>
<tr runat="server" id="tr1" style="cursor:hand;" >
<тд>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</td>
<тд>
<asp:Literal ID="Literal2" runat="server"></asp:Literal>
</td>
</tr>
</таблица>
<asp:Button ID="Button1" runat="server" Text="Button" style="display:none; width:0; height:0;" OnClick="Button1_Click" />
Вы можете добавить в таблицу соответствующую обработку стиля onmouseover.
Содержит следующие связанные атрибуты и обработку
общедоступный частичный класс WebUserControl: System.Web.UI.UserControl
{
#region Свойства и события
//Текст кнопки пользовательского элемента управления текстовой кнопкой значка
string _strButtonText = "Заполнитель кнопки";
общедоступная строка strButtonText
{
установить { _strButtonText = значение};
получить {возврат _strButtonText};
}
//Путь к значку пользовательского элемента управления текстовой кнопкой со значком
строка _strImageSrc = "";
общедоступная строка strImageSrc
{
установить { _strImageSrc = значение};
получить {вернуться _strImageSrc;
}
//Отключено управление
bool _UCDisabled = ложь;
общедоступный boolUCDisabled
{
набор
{
this.tr1.Disabled = значение;
_UCDisabled = значение;
}
получить {вернуться _UCDisabled;
}
//Функция обработки, которая реагирует на событие onclick js
строка _strOnClickJSFun = "";
общедоступная строка strOnClickJSFun
{
установить { _strOnClickJSFun = значение};
получить {вернуться _strOnClickJSFun};
}
//Ответ на событие OnClick на стороне сервера
публичный делегат void userEvent (отправитель объекта, EventArgs e);
публичное событие userEvent UCOnClick;
protected void Button1_Click (отправитель объекта, EventArgs e)
{
если (this.UCOnClick! = ноль)
this.UCOnClick(это, е);
}
#конечныйрегион
protected void Page_Load (отправитель объекта, EventArgs e)
{
если (!IsPostBack)
{
если (_strButtonText != "")
{
this.Literal2.Text = _strButtonText;
}
если (_strImageSrc != "")
{
this.Literal1.Text = "<img id='" + this.UniqueID + "Image1' src='" + _strImageSrc + "' />";
}
если (UCDisabled)
возвращаться;
если (_strOnClickJSFun != "")
{
строка strjsfun = _strOnClickJSFun.Replace(";", "").Replace("return ", "");
если (this.UCOnClick! = ноль)
{
this.tr1.Attributes.Add("onclick", "if(" + strjsfun + "){document.all." + this.UniqueID + "_Button1.click();}");
}
еще
{
this.tr1.Attributes.Add("onclick", strjsfun);
}
}
еще
{
если (this.UCOnClick! = ноль)
{
this.tr1.Attributes.Add("onclick", "document.all." + this.UniqueID + "_Button1.click();");
}
}
}
}
}
2. Используйте пользовательский элемент управления [текстовая кнопка со значком].
<uc1:WebUserControl ID="WebUserControl1" runat="server" OnUCOnClick="Button1_Click" strOnClickJSFun="return fn_Check();"
strButtonText="Изменить" strImageSrc="../Images/Edit.gif" />