Установите текст TextBox в файле aspx с помощью метода С#

Я хочу установить TextBox Text в файле aspx, используя метод C#.
Вот что я сделал:

ASPX:

<asp:TextBox ID = "txt_btc_in_eth" runat = "server" Text = "<%# txt_btc_in_eth_val() %>" CssClass = "only_decimal"></asp:TextBox>

С#:

protected string txt_btc_in_eth_val()
{
    string output = "0.02";
    return output;
}

Но txt_btc_in_eth_val() никогда не звонит.
В чем проблема?


Редактировать 1:
Я также попробовал этот html вместо управления на стороне сервера:

<span><%# txt_btc_in_eth_val() %></span>

txt_btc_in_eth_val() Больше никогда не звонит.


Редактировать 2:
<%= вместо <%# не работает.


Редактировать 3:

public string txt_btc_in_eth_val()
{
    string output = "0.02";
    return output;
}

Я изменил protected на public > все равно не работает

Давно не делал aspx, но я думаю, что помню, что% # был для привязки данных. попробуй %=. однако я бы установил значение текстового поля с помощью txt_btc_in_eth.Text = "mystring".

gsharp 20.12.2020 09:09

Используйте ‘<%=’ вместо <%#

nemke 20.12.2020 09:12

Опишите рассматриваемую ошибку. Ваш метод должен быть защищен или общедоступен.

nemke 20.12.2020 09:14

Ошибки нет - метод txt_btc_in_eth_val() не вызывается - не знаю почему!? Я поставил точку останова во время запуска и увидел, что он никогда не звонит.

SilverLight 20.12.2020 09:18

Попробуйте использовать простой ввод html вместо управления сервером Asp TextBox. Я помню, что это может быть проблемой. Я не использовал Asp.Net уже 10 лет, поэтому я угадываю ответ. Серверные элементы управления работают с привязкой или установкой значения непосредственно в коде, как указано в первом комментарии.

nemke 20.12.2020 09:22

Вы также можете использовать общедоступное свойство вместо метода, что делает код чище.

nemke 20.12.2020 09:27

Из любопытства, почему вы используете WebForms в 2020 году? Это устаревшая, тупиковая платформа, которая некорректно работает с современными веб-браузерами.

Dai 20.12.2020 09:49

Это старый проект, который я меняю.

SilverLight 20.12.2020 09:52
<%# требует вызова DataBind() метода. Будет ли работать, если вы позвоните DataBind() на PageLoad мероприятии?
user45 20.12.2020 10:25

Нужна ли замена без DataBind()?

SilverLight 20.12.2020 14:28
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
10
464
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны вызвать метод DataBind() этого TextBox в Page_Load().

txt_btc_in_eth.DataBind();

Другие вопросы по теме