【问题标题】:How to make extend property for HTML Select server control?如何为 HTML Select 服务器控件制作扩展属性?
【发布时间】:2014-06-21 17:52:08
【问题描述】:

我想创建控件<asp:DropdownList ID="ddlUser" runat="server" /> 的扩展属性。

我可以为<select id="selectUser" runat="server" /> 创建一个.SelectedValue 属性吗? 所以我可以在 C# 中使用该属性,所以我可以像 ddlUser.SelectedValue 一样使用。

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

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

ddlUser.SelectedValue

【问题讨论】:

  • @sam 谢谢你的更新。
  • 欢迎您,我只是更改了语法/拼写(并删除了标题中的标签)。当您下次发布问题时,尽量不要在标题中添加标签,这就是我们有标签系统的原因。 ;)
  • 你必须使用继承,并在你的肩膀上手动实现它。
  • @MarcoAlves 能否请您用示例代码编写示例..

标签: c# html asp.net


【解决方案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");

您可以改用扩展方法;)

【讨论】:

  • 我看到你是stackoverflow的新手..呵呵
猜你喜欢
  • 2012-07-09
  • 1970-01-01
  • 2019-04-07
  • 2011-05-23
  • 2012-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
相关资源
最近更新 更多