试图在HTML中使用C#调用变量

试图在HTML中使用C#调用变量,c#,asp.net,webforms,C#,Asp.net,Webforms,我打赌这个问题以前被问过,但我找不到合适的关键字来搜索 我试图在HTML中间调用我的变量(CurrutUs.FrestNeNT),但是如果我尝试它,它将无法识别变量。如果我不在代码周围放置HTML标记,它确实可以工作 这是我的密码: <% var currentUser = ProjectGalaxy.Website.GetCurrentUser(); %> <% if (currentUser != null) { %> <ul class="nav na

我打赌这个问题以前被问过,但我找不到合适的关键字来搜索

我试图在HTML中间调用我的变量(CurrutUs.FrestNeNT),但是如果我尝试它,它将无法识别变量。如果我不在代码周围放置HTML标记,它确实可以工作

这是我的密码:

<% var currentUser = ProjectGalaxy.Website.GetCurrentUser(); %>
<% if (currentUser != null)
{ %>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%= 
    currentUser.FirstName %></a></li>
</ul>
<% } %>

谢谢,,
Thomas

您在第一个服务器块中创建的变量可能不再在范围内,因此当您退出第一个服务器块并编写html时,您可能会丢失上下文

有两个选项取决于您是否仅限于在显示页面中解决此问题,或者是否能够编辑显示和代码隐藏

<% if (ProjectGalaxy.Website.GetCurrentUser() != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
<%}%>
备选案文1。删除变量并直接从服务器方法中引用基础值

调用存在重复,但如果您无法编辑代码,它会删除任何范围问题并将其本地化

<% if (ProjectGalaxy.Website.GetCurrentUser() != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
<%}%>
//显示页面

<% if (CurrentUser != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:CurrentUser.FirstName%></a></li>
    </ul>
<%}%>
<asp:Panel ID="pnlWelcomeMessage" runat="server" CssClass="nav navbar-nav navbar-right" Visible="false">
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
</asp:Panel>
//显示页面

<% if (CurrentUser != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:CurrentUser.FirstName%></a></li>
    </ul>
<%}%>
<asp:Panel ID="pnlWelcomeMessage" runat="server" CssClass="nav navbar-nav navbar-right" Visible="false">
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
</asp:Panel>



希望有帮助。

您在第一个服务器块中创建的变量可能不再在范围内,因此当您退出第一个服务器块并编写html时,您可能会丢失上下文

有两个选项取决于您是否仅限于在显示页面中解决此问题,或者是否能够编辑显示和代码隐藏

<% if (ProjectGalaxy.Website.GetCurrentUser() != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
<%}%>
备选案文1。删除变量并直接从服务器方法中引用基础值

调用存在重复,但如果您无法编辑代码,它会删除任何范围问题并将其本地化

<% if (ProjectGalaxy.Website.GetCurrentUser() != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
<%}%>
//显示页面

<% if (CurrentUser != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:CurrentUser.FirstName%></a></li>
    </ul>
<%}%>
<asp:Panel ID="pnlWelcomeMessage" runat="server" CssClass="nav navbar-nav navbar-right" Visible="false">
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
</asp:Panel>
//显示页面

<% if (CurrentUser != null) {%>
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:CurrentUser.FirstName%></a></li>
    </ul>
<%}%>
<asp:Panel ID="pnlWelcomeMessage" runat="server" CssClass="nav navbar-nav navbar-right" Visible="false">
    <ul class="nav navbar-nav navbar-right">
        <li><a runat="server" href="~/pages/Dashboard.aspx">Welcome <%:ProjectGalaxy.Website.GetCurrentUser().FirstName%></a></li>
    </ul>
</asp:Panel>



希望有帮助。

如果这是HTML,它将无法工作。应该是aspx。如果你想在HTML中使用C#变量,你需要使用Razor语法:,如果你在使用MVC,请检查以下语法:是的,重复的一个。在webforms中,我记得这会打印日期时间
(注意冒号),所以我猜它是
。你确定它不起作用吗?呈现的HTML源代码是什么样的(浏览器->查看源代码)?检查是否需要修改CSS/样式,而不是代码。如果这是HTML,则无法工作。应该是aspx。如果你想在HTML中使用C#变量,你需要使用Razor语法:,如果你在使用MVC,请检查以下语法:是的,重复的一个。在webforms中,我记得这会打印日期时间
(注意冒号),所以我猜它是
。你确定它不起作用吗?呈现的HTML源代码是什么样的(浏览器->查看源代码)?检查是否需要修复某些CSS/样式,而不是代码。