Оператор +
может использоваться для преобразования переменной в число. Итак, это ...
"a" + + "b"
возвращает aNaN
, но это ...
"a" + + "5"
возвращает a5
Поскольку b
не является числом, + b
возвращает NaN.
Не знаете, как отметить это как таковое, но это немного дубликат. См. эту тему .
Я не думаю, что вложение кода в вашу разметку действительно сделает вашу разметку более четкой или более элегантной.
Использовать Выражения привязки данных
<asp:Label ID="Label1" runat="server" Text="<%# DateTime.Now %>" ></asp:Label>
Код позади,
protected void Page_Load(object sender, EventArgs e){
DataBind();
}
Вам нужно будет установить значение серверного элемента управления в коде
. Прежде всего, назначьте идентификатор элементу управления ярлыками, чтобы вы могли получить доступ к элементу управления
<asp:Label ID="myLabel" runat="server" />
Затем в вашей функции Page_Load установите значение поля «Текст» ваших меток
protected void Page_Load(object sender, EventArgs e)
{
myLabel.Text = 'Whatever you want the label to display';
}
Эта функция будет находиться в вашем коде за файлом или, если вы не используете модель за моделью, внутри вам нужна страница aspx
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
myLabel.Text = 'Whatever you want the label to display';
}
</script>
Удачи.
В моем коде я использую что-то подобное легко, но в контроле данных, например, в элементе ListView Item
<asp:HyperLink ID="EditAction" class="actionLinks" Visible='<%#Eval("IsTrue").ToString() != "True"%>' runat="server" NavigateUrl='<%# Eval("ContentId","/articles/edit.aspx?articleid={0}")%>' />
. Но когда я пытался использовать внешний элемент управления привязкой данных, используя & lt;% # ..% >, это просто не работает.
Вы можете легко сделать с
<a href="<%=myHref%>">My href</a>
Но для серверных элементов управления и вне контроля привязки данных. Нам нужно вызывать DataBind () в событии pageload явно
<asp:Hyperlink ID="aa" NavigateUrl='<%#myHref%>' >
вы можете это сделать
<asp:Label ID="Label1" runat="server" ><%= variable%></asp:Label>
<asp:Label>
компилируется во время выполнения и конвертируется в теги html. Вы можете установить текст с помощью codebehind или следующим образом:
<asp:Label id="Text1" runat="server" />
<% Text1.Text = this.Text;%>
UPD: Кажется, что мой вариант не работает, это лучше:
protected void Page_Load(object sender,EventArgs e)
{
Text1.Text = this.Text;
}