У меня есть кнопка.
<button id = "BtnName" class = "roundBtns" type = "button" > </button>Мне нужно отобразить длину/количество значений разных ключей в моем словаре как текст моей кнопки. Мой короткий фрагмент моего С# выглядит примерно так:
if (myDictionary.ContainsKey("Apple"))
{
BtnName.Text = AlertDic["Apple"].Split(',').Length;
}
if (myDictionary.ContainsKey("Samsung"))
{
BtnName.Text = AlertDic["Samsung"].Split(',').Length;
}
if (myDictionary.ContainsKey("Blackberry"))
{
BtnName.Text = AlertDic["Blackberry"].Split(',').Length;
}
Я пытался сделать это, но получаю сообщение об ошибке: «Кнопка HTML не содержит определения для ТЕКСТА и нет доступного метода расширения для ТЕКСТА...»
Я добавил runat= «server» и добавил .toString(), так как продолжал получать «Невозможно неявно преобразовать int в строку», но не повезло
Наконец, я также попытался преобразовать его в кнопку asp с помощью runat = «server», но я получаю сообщение об ошибке «Слишком много символов в символьном литерале». Это не событие по клику. Он должен появиться при загрузке страницы.
Что я здесь делаю неправильно?
Как предложил Гас, измените свою кнопку на <asp: button
Извините, это не очень ясно в моем вопросе. Это просто тег <button>. Не кнопка ввода, как HTML. Я использовал группу кнопок, поэтому все мои кнопки выглядели как <button></button>
@Shreeram, как я уже упоминал в вопросе, когда я меняю его на <asp:button>, я получаю сообщение об ошибке «Слишком много символов в символьном литерале».
Too many characters in character literal Где-то в вашем коде вы пытаетесь вставить строку в тип char. Поэтому узнайте, о какой строке говорит ошибка, и дважды проверьте, что вы используете " для строки и ' для одного символа. Я предполагаю, что это либо там, где вы используете индекс AlertDic, либо в одном из ваших вызовов Split().





Попробуйте использовать кнопку с помощью runat = "server", например:
<button id = "BtnName" class = "roundBtns" type = "button" runat = "server" > </button>
Измените свой код, используя свойство InnerText и метод ToString, как показано ниже:
if (myDictionary.ContainsKey("Apple"))
{
BtnName.InnerText = AlertDic["Apple"].Split(',').Length.ToString();
}
if (myDictionary.ContainsKey("Samsung"))
{
BtnName.InnerText = AlertDic["Samsung"].Split(',').Length.ToString();
}
if (myDictionary.ContainsKey("Blackberry"))
{
BtnName.InnerText = AlertDic["Blackberry"].Split(',').Length.ToString();
}
Вы уверены, что используете <asp:button> вместо html (<button>)?