我使用 jquery datepicker 创建服务器控件,我在我的渲染方法中进行了初始化。在文本框中我设置自动回发并添加自定义事件以触发 textchanged 这是服务器端:
protected override void CreateChildControls()
{
base.CreateChildControls();
_txtCalender = new TextBox();
_txtCalender.ID = "_txtCalender" + this.ID;
_txtCalender.ReadOnly = true;
_txtCalender.AutoPostBack = true;
_txtCalender.TextChanged += new EventHandler(_txtCalender_TextChanged);
Controls.Add(_txtCalender);
}
//Raised when the select Change
public event EventHandler SelectionDateChanged
{
add
{
Events.AddHandler(eventSelectedChange, value);
}
remove
{
Events.RemoveHandler(eventSelectedChange, value);
}
}
private void _OnSelectedChange(object source, EventArgs e)
{
OnSelectedChange(EventArgs.Empty);
}
//The method that raises the select Change event.
protected void OnSelectedChange(EventArgs e)
{
EventHandler selectedChangeHandler = (EventHandler)Events[eventSelectedChange];
if (selectedChangeHandler != null)
selectedChangeHandler(this, e);
}
在我的客户端我设置 datepicker 选择属性是这样的:
onSelect: function (dateText, inst) {
try {
window.console && console.log($(hiddenFld).val());
inst.input.val($(hiddenFld).val());
inst.input.trigger('change');
}
catch (err) {
alert(err);
}
}
当我选择日期它创建回发但它没有进入 OnTextChanged 我错过了什么?