asp.net - 自定义 DropDownList 上的 OnChange 属性未呈现

标签 asp.net attributes drop-down-menu custom-controls

我有一个自定义用户控件,它基本上是一个下拉列表,预先填充了数据库中的值。

<asp:DropDownList ID="selResponseTimes" runat="server" SkinID="filterSkin">                
</asp:DropDownList>

隐藏代码:

public partial class Response_Times_Drop_Down : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataTable objDataTable = DAL.ExecuteDataTable("sp_cl_Response_Times_Get", null);
            selResponseTimes.DataSource = objDataTable;
            selResponseTimes.DataTextField = "TM_Code";
            selResponseTimes.DataValueField = "TM_Code";
            selResponseTimes.DataBind();
        }
    }

    public string SelectedValue
    {
        get
        {
            return selResponseTimes.SelectedValue;
        }
        set
        {
            selResponseTimes.SelectedValue = value;
        }
    }

}

该控件已添加到我的页面,如下所示,并且工作正常:

<asp:ResponseTimesDropDown runat="server" ID="selResponse" />

我使用以下命令将客户端事件作为属性添加到 Page_Load 上的标准控件:

txtCallRelatedCall.Attributes.Add("onblur", "CheckRelatedCall()");

但是,当我尝试使用自定义控件执行此操作时,它们不会被添加。

selResponse.Attributes.Add("onchange", "CalculateResponseTime()");

但是,如果我调试代码,属性将被添加到集合中,看起来它们只是没有输出到页面。这是为什么?

最佳答案

您在页面生命周期的哪个阶段添加属性?

尝试将它们添加到 Page_Init

Protected void Page_Init(object sender, EventArgs e)
{
    selResponse.Attributes.Add("onchange", "CalculateResponseTime()");
}

编辑(参见评论):

Public void CalculateResponseEnabled()
{
        selResponseTimes.Attributes.Add("onchange", "CalculateResponseTime()");
}

然后,您可以通过执行以下操作来调用CalculateResponseEnabled。

selResponse.CalculateResponseEnabled();

关于asp.net - 自定义 DropDownList 上的 OnChange 属性未呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9888938/

相关文章:

c# - 在 C# 中重定向页面之前设置超时

c# - IIS 垃圾收集挂起许多应用程序域

asp.net - IIS虚拟目录和ASP.NET目录路径

javascript - 创建动态选择(下拉)列表的最佳方法?

ASP.net core 1.0 web.config 被覆盖导致 CGI 异常

php - 以编程方式创建的属性出现在数据库中,但不在 Magento 后端中

html - 如何为mp3文件设置下载属性?

javascript - 在 javascript 中,input.value=val 与 input.setAttribute ('value' 的区别,val)?

html - css 下拉菜单二级消失

javascript - 如何在 select2 下拉列表中换行?