如何为HTML选择服务器控件制作扩展属性

本文关键字:扩展 属性 服务器控件 选择 HTML | 更新日期: 2023-09-27 18:09:57

我想为控件<asp:DropdownList ID="ddlUser" runat="server" />添加一个扩展属性。

我可以为<select id="selectUser" runat="server" />创建.SelectedValue属性吗所以我可以在c#中使用这个属性所以我可以使用ddlUser.SelectedValue

在HTML <select runat="server">控件中有一些属性需要扩展。

selectUser.Value(需要扩展.SelectedValue属性)

ddlUser.SelectedValue

如何为HTML选择服务器控件制作扩展属性

你不能在c# 3.0或4.0中做扩展属性。但是,您可以执行以下操作

定义一个helper类作为扩展名

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");

你可以用扩展方法代替;)