如何在 ASP.NET 中使用 C# 声明变量?

问题描述 投票:0回答:3

我试图通过下面的方法在 body 标记之后声明一个字符串变量,并在 div 标记内显示 name 变量的值。但是为什么我们不能访问声明的脚本标记之外的变量

<%CODE%>

换句话说,如果我在 HTML 代码中的某处声明了一个变量名 作为

<% string name="Stark"; %>
并尝试使用下面的代码在代码中的某个位置访问它
<div><%=name;%></div>
...

然后它提示我

当前上下文中不存在

<VARIABLE NAME>

c# html asp.net variables
3个回答
2
投票

ASP.NET MVC

@{  
    string name = "Stark";
}

<div>
   <h2>@name</h2>
</div>

ASP.NET Web 表单

<% string name = "Stark"; %>
<div>
    <h2><%=name %></h2>
</div>

0
投票

<%= %>
语法打印表达式。

不需要完整的声明(

name;
作为声明没有任何意义,打印声明也没有意义)。

因此,不能有分号。


0
投票

对于 Web 窗体,ASP.NET 通过变量所在的标签分隔变量上下文。有时,您需要在与正在使用的调用 (

<%= %>
) 相同的标签内设置变量,以便 ASP.NET 对其进行编译.

所以...

<label> <!-- scope -->
    <% %>
    <%= %>
<\label>

而不是...

<% %>
<label> <!-- scope -->
    <%= %>
<\label>

当您在 Web 表单中使用

if
/
for
/
foreach
代码块时,就会出现差异。 HTML 和 C# 周围的范围允许 C# 而不是 HTML 成为焦点。

这很可能是一个基于 ASP.NET Web 窗体处理 HTML 中变量的方式的范围问题。

© www.soinside.com 2019 - 2024. All rights reserved.