Как создать свойство расширения для элемента управления сервером выбора HTML?

#c# #html #asp.net

#c# #HTML #asp.net

Вопрос:

Я хочу создать свойство extend для элемента управления <asp:DropdownList ID="ddlUser" runat="server" /> .

Могу ли я создать .SelectedValue свойство для <select id="selectUser" runat="server" /> , чтобы я мог использовать это свойство в C #, чтобы я мог использовать like ddlUser.SelectedValue .

В элементе управления HTML необходимо расширить некоторые свойства <select runat="server"> .

selectUser.Value (необходимо расширить с помощью .Свойство SelectedValue)

 ddlUser.SelectedValue
 

Комментарии:

1. @sam спасибо за обновление.

2. Приветствую вас, я только изменил грамматику / орфографию (и удалил теги из заголовка). При следующем размещении вопроса старайтесь не добавлять теги к своему заголовку, именно поэтому у нас есть система тегов. 😉

3. Вы должны использовать наследование и реализовать его вручную на своем плече.

4. @MarcoAlves не могли бы вы, пожалуйста, написать пример с образцом кода..

Ответ №1:

Вы не можете использовать свойства расширения в C # 3.0 или 4.0. Однако вы можете сделать следующее

Определите вспомогательный класс как расширение

 public static class SelectExtensionHelper
{
    public static string SelectedValue(this System.Web.UI.HtmlControls.HtmlSelect select)
    {
        return select.Items[select.SelectedIndex].ToString();
    }
}
 

находясь на странице ASP:

 <select id="selectUser" runat="server" >
        <option id="op1id" value="val1id"> option1 </option>
        <option id="op2id" value="val2id"> option2 </option>
        <option id="op3id" value="val3id"> option3 </option>
    </select>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        PostBackUrl="~/Default.aspx" Text="Button" />
 

Используйте это там, где вам нужно:

 Response.Write("The value is:"  selectUser.SelectedValue()   " Done");
 

Вместо этого вы можете использовать методы расширения 😉

Комментарии:

1. Я видел, что вы новичок в stackoverflow.. huhh