Присвоение динамического идентификатора клиента формы статическому методу Результат - PullRequest
0 голосов
/ 24 августа 2011

У меня есть несколько пользовательских элементов управления с функциями JavaScript. Я установил контрольный идентификатор для функции клиента - чтобы отделить ее от другой. Мой код JavaScript выглядит так:

    function <%= this.ClientID %>UploadComplete(sender, args) {
....
}

И я хочу зарегистрировать этот метод в объявлении элемента управления,

<ajaxToolkit:AsyncFileUpload runat="server" OnClientUploadComplete ="<%#uploaderror.ClientID%>UploadComplete"
        ID="AsyncFileUpload"/>

Но в наценке я получил

{"uploadComplete":<%#ClientID%>UploadComplete},"

Где uploaderror- Я пытался использовать атрибуты:

protected void Page_Load(object sender, EventArgs e)
{
    AsyncFileUpload.Attributes.Add("OnClientUploadComplete", this.ClientID + "UploadComplete");
}

Наценка была хорошей. Но событие не сработало.

Итак, у меня два вопроса: 1) Почему <% # - don <code>t works. 2) Why added by attributes events don t запущен в javascripts?

Спасибо.

1 Ответ

2 голосов
/ 24 августа 2011

Для вашего первого вопроса причина, по которой он не работает, заключается в том, что вы не можете смешивать код привязки данных и текст в свойстве серверного элемента управления, как это уже было сделано.Это должен быть один или другой.Так что вы могли бы сделать вместо этого:

OnClientUploadComplete='<%# uploaderror.ClientID + "UploadComplete"%>'
...