#c# #asp.net #visual-studio-2015
#c# #asp.net #visual-studio-2015
Вопрос:
Я хочу установить текстовое поле Text в aspx
файле с помощью метода C #.
Вот что я сделал :
ASPX:
<asp:TextBox ID="txt_btc_in_eth" runat="server" Text="<%# txt_btc_in_eth_val() %>" CssClass="only_decimal"></asp:TextBox>
C# :
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
> все еще не работает
Комментарии:
1. Давно не делал aspx, но я полагаю, что помню, что % # был для привязки данных. попробуйте %=. однако я бы установил значение текстового поля с помощью txt_btc_in_eth . Текст = «mystring».
2. Вместо этого используйте ‘<%=‘ <%#
3. Опишите ошибку, о которой идет речь. Ваш метод должен быть защищенным или общедоступным.
4. Попробуйте использовать обычный ввод html вместо серверного элемента управления текстовым полем Asp. Я помню, что это может быть проблемой. Я не использовал Asp.Net уже 10 лет, так что я угадываю ответ. Серверные элементы управления работают с привязкой или установкой значения непосредственно в коде, как указано в первом комментарии.
5.
<%#
требуетсяDataBind()
вызвать метод. Работает ли это, если вы вызываетеDataBind()
PageLoad
событие?
Ответ №1:
Вы должны вызвать метод DataBind() этого текстового поля в Page_Load().
txt_btc_in_eth.DataBind();