#asp.net #character #literals
#asp.net #символ #литералы
Вопрос:
Не могли бы вы сказать мне, пожалуйста, что не так с этим кодом??? Вот-вот сойду с ума!!!
<asp:LinkButton ID="LinkButton1" OnClick="DivAc('griddiv')" Font-Size="Smaller" runat="server" CommandName='<%# Eval("harf").ToString().ToUpper()%>'><%# Eval("harf").ToString().ToUpper() %></asp:LinkButton>
Ошибка: слишком много символов в символьном литерале … 🙁
Комментарии:
1. Вы пытались заменить внутренний текст свойством text :
<asp:LinkButton ID="LinkButton1" OnClick="DivAc('griddiv')" Font-Size="Smaller" runat="server" CommandName='<%# Eval("harf").ToString().ToUpper()%>' Text='<%# Eval("harf").ToString().ToUpper() %>' />
?2. Кстати, вы не можете использовать универсальную функцию для обработчика событий OnClick.
3. Привет, люди, спасибо за ваши быстрые ответы, но я думаю, проблема в этом: OnClick=»DivAc (‘griddiv’)» потому что, когда я удаляю эту часть, она работает ???…
Ответ №1:
Это DivAc('griddiv')
функция javascript? Тогда вы должны использовать OnClientClick
вместо OnClick
.
OnClick
зарезервировано для .СЕТЕВЫЕ функции. With OnClientClick
you генерирует OnClick-атрибут в HTML.
Это, вероятно, немного сбивает с толку.
Итак, это то, что вам нужно сделать:
<asp:LinkButton ID="LinkButton1" OnClientClick="DivAc('griddiv')" Font-Size="Smaller" runat="server" CommandName='<%# Eval("harf").ToString().ToUpper()%>'><%# Eval("harf").ToString().ToUpper() %></asp:LinkButton>
Комментарии:
1. Спасибо Матье… Извините, это моя вина:(
Ответ №2:
Непосредственная проблема заключается в том, что вы поместили строку (griddiv) в символьные кавычки (одинарная кавычка в C # предназначена только для одного символа). Вам нужно будет написать что-то вроде OnClick="DivAc("griddiv")"
НО
OnClick — это обработчик событий на стороне сервера, который принимает имя общедоступной или защищенной функции, которая принимает (object,EventArgs) и возвращает void . Так что это все равно не будет компилироваться.
Где DivAc? В JavaScript? Если это так, вам нужен OnClientClick, и в этом случае вы можете оставить одинарные и двойные кавычки такими, какие они есть.
Комментарии:
1. Спасибо sq33G Onclientclick решить проблему… Вся моя вина, извините за занятие… Спасибо всем!
Ответ №3:
Я думаю, что ваша ошибка здесь:
CommandName='<%# Eval("harf").ToString().ToUpper()%>'><%# Eval("harf").ToString().ToUpper() %></asp:LinkButton>
Я думаю, что это должно быть:
CommandName='<%# Eval("harf").ToString().ToUpper()%'></asp:LinkButton>
Комментарии:
1. Ваше предложение приведет к отсутствию текста для кнопки LinkButton.
2. Привет, люди, спасибо за ваши быстрые ответы, но я думаю, проблема в этом: OnClick=»DivAc (‘griddiv’)» потому что, когда я удаляю эту часть, она работает ???…