2014-06-21 33 views
2

我想擴展屬性的控制<asp:DropdownList ID="ddlUser" runat="server" />如何爲HTML選擇服務器控件的擴展屬性?

我可以創建一個.SelectedValue屬性<select id="selectUser" runat="server" /> 這樣我就可以使用該屬性在C#這樣我就可以使用像ddlUser.SelectedValue

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

selectUser.Value(需要擴展與.SelectedValue屬性)

ddlUser.SelectedValue 
+0

@sam謝謝你的更新。 –

+0

您的歡迎,我只改變了語法/拼寫(並從標題中刪除了標籤)。當您下一次發佈問題時,請不要爲您的標題添加標籤,這就是爲什麼我們有標籤系統。 ;) – Sam

+0

你必須使用繼承,並在你的肩膀上手工實現它。 –

回答

0

你不能做在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"); 

您可以改用擴展方法;)

+0

感謝您的示例代碼。我會嘗試並讓你知道。 –

+0

我看到你是新的超過stackoverflow ..嗯 –

相關問題