Избегайте двойных кавычек в строке asp.net Onclick - PullRequest
3 голосов
/ 11 июля 2010

Я пытаюсь вставить динамические данные в свойство onclick для элемента управления, код выглядит следующим образом

onclick="openRadWindow('<%#Eval("ID";) %>','<%#Eval("ParentObjectID") %>');"

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

Ответы [ 4 ]

2 голосов
/ 11 июля 2010

Вы можете использовать строку формата, например:

onclick='<%# string.Format("openRadWindow(\"{0}, {1}\");", Eval("ID"), Eval("ParentObjectID")) %>' 
1 голос
/ 11 июля 2010

Благодаря всему я смог заставить его работать правильно, используя другой метод. в коде позади я создал функцию, а в функцию я поместил следующий код

Return String.Format("openRadWindow({0},{1});", photo.ID, photo.ParentObjectID)

и в aspx я добавил onclick="<%#MyFunction(DirectCast(Container.DataItem,Photo))%>

1 голос
/ 11 июля 2010

Это событие просто не запускается или вы получаете какие-либо ошибки JavaScript. Кроме того, я бы посмотрел HTML-код после рендеринга страницы и убедился, что серверные теги обрабатываются правильно. Существуют определенные виды использования, которые приводят к тому, что они фактически не обрабатываются и остаются <% # Eval ("ID")%>.

0 голосов
/ 11 июля 2010

Первое, что я вижу, это точка с запятой после «ID» - я думаю, что это может вызвать ваши проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...