Слишком много символов в символьном литерале?

#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’)» потому что, когда я удаляю эту часть, она работает ???…