[英]ASP.NET MasterPage, doesn't display my <%=CodeBehindVar %>
這是我想做的一個例子:
內容方(Structure.master):
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Structure.master.cs" Inherits="Structure" %>
<!DOCTYPE HTML>
<html>
<head runat="server">
<title>Bienvenue sur</title>
<meta charset="utf-8" content="" />
<link runat="server" href="App_Themes/Global/Metro.css?v=22" rel="stylesheet" type="text/css" />
<link runat="server" href="App_Themes/Global/Site.css?v=<%=Version %>" rel="stylesheet" type="text/css" />
<link runat="server" href="App_Themes/Global/Structure.css?v=22" rel="stylesheet" type="text/css" />
和代碼隱藏(Structure.master.cs):
using System;
using System.Linq;
using BaseInstanceEntity = Library.Common.Entities.BaseEntities.BaseInstanceEntity;
using BaseInstanceManager = Library.Manager.BaseInstanceManager;
public partial class Structure : System.Web.UI.MasterPage
{
public string Version { get; set;}
protected void Page_Load(object sender, EventArgs e)
{
Version = System.Configuration.ConfigurationManager.AppSettings["Version"].Replace(".", "");
如圖所示,我想將Version
var顯示在標題中,作為緩存控件。 當我執行上面的代碼時,該行的結果是:
<link href="../App_Themes/Global/Site.css?v=<%=Version %>" rel="stylesheet" type="text/css" />
就像代碼沒有被解釋。 我找不到解釋。 為什么會這樣呢?
好吧,我遲到了這個問題,但是當我需要動態創建CSS鏈接時,我只是在后面的代碼中生成整個標簽,然后將其植入標記中,如下所示:
public partial class WebForm1 : System.Web.UI.Page
{
public string link;
protected void Page_Load(object sender, EventArgs e)
{
string ver = "1.0.0";
link = "<link rel=\"stylesheet\" href=\"../App_Themes/Global/Site.css?v=" + ver + "\"/>";
}
}
然后標記
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<%= link %>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
希望這對其他訪問此頁面的人有所幫助!
也許應該是這樣的:
<link runat="server"
href='<%# string.Format("{0}?v={1}", Page.ResolveUrl("~/App_Themes/Global/Site.css"), Version)%>'
type="text/css" />
public static string Version
{
get
{
Assembly asm = Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location);
return String.Format("{0}.{1}", fvi.ProductMajorPart, fvi.ProductMinorPart);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.