在ASP.NET中将公共字符串变量打印到页面

LeR*_*Roy 4 c# asp.net

忽略一些基本的东西,但我试图设置一个变量,并在页面上的几个地方打印.代码背后:

public string myVariable { get {return "40"; } }
Run Code Online (Sandbox Code Playgroud)

页:

<link rel="stylesheet" type="text/css" href="/css/main.css?v=<%=myVariable%>" />
Run Code Online (Sandbox Code Playgroud)

输出:

<link rel="stylesheet" type="text/css" href="/css/main.css?v=&lt;%=myVariable %>" />
Run Code Online (Sandbox Code Playgroud)

它似乎与引号有关,因为当我把它带到href之外时它会起作用.如果我在代码段中放置一个字符串,我发现它工作正常.

这有效,但不是我想要的:

<link rel="stylesheet" type="text/css" href="/css/main.css?v=<%="40"%>" />
Run Code Online (Sandbox Code Playgroud)

这种行为背后的逻辑是什么?我需要做些什么才能使其发挥作用?我也愿意采取更优雅的方法来做到这一点.

lom*_*axx 5

你需要单引号引用html属性,如下所示:

<link rel="stylesheet" type="text/css" href='/css/main.css?v=<%=myVariable%>' />
Run Code Online (Sandbox Code Playgroud)

当我想创建锚标签时,我会一直使用它,特别是在转发器中

<a href='PageToLinkTo.aspx?id=<%# DataBinder.Eval(Container.DataItem, "Id")%>'>Link Text</a>
Run Code Online (Sandbox Code Playgroud)

这只适用于您的aspx页面.如果你的aspx页面的head部分有链接标记,那么请查看这个问题以获取更多信息:表达式标记中的问题以绑定字符串变量