У меня есть пользовательский контроль, который в основном представляет собой раскрывающийся список, предварительно заполненный значениями из базы данных.Атрибут OnChange на пользовательском DropDownList не отображается
<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()");
Однако если отлаживать код, атрибуты добавляются в коллекцию, кажется, что они просто не выводятся на страницу. Почему это?
Вы можете показать нам javacript и html-часть? Также попробуйте установить «CheckRelatedCall(); return false;» и "CalculateResponseTime(); return false;" видеть, работает ли. – Aristos
Это не имеет значения, я никогда не получаю вызов javascript, потому что я не могу успешно добавить атрибут onchange в свой элемент управления. – fourdam
Мое предположение заключается в том, что, поскольку я могу добавлять атрибуты к стандартным элементам управления на событие 'Page_Load', а не свой собственный элемент управления, это потому, что элемент управления уже был обработан, поэтому мне нужно добавить атрибут на более раннем этапе? – fourdam