2017-07-19 5 views
0

ブラウザのキャッシュ固有のファイルを許可しないように、パラメータをCSSおよびJSファイルに追加します。.aspx UnixTimestampをスタイルシートに追加するHTML HEADが機能しない

私はindex.aspxと私のC#コードで2つのバージョンを試しましたが、何も動作しません。

最初の試みは、このようDateTime.Now.Ticksを追加しました:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" 
Inherits="_index" %> 
<!DOCTYPE html> 
<html lang="de"> 
<head runat="server"> 
<meta charset="UTF-8"> 
<title>Index Page</title> 
<link rel="stylesheet" href="css/vendor/bootstrap.min.css"> 
<link rel="stylesheet" href="css/vendor/bootstrap-datetimepicker.min.css"> 
<link rel="stylesheet" href="css/vendor/sweetalert2.min.css"> 
<link rel="stylesheet" href="css/style.css?<%=DateTime.Now.Ticks %>"> 

しかしreleventラインがあるstyle.css後がないダニあるので、レンダリングされたときに、このように正確に現れますか?代わりにaspxコード。

別のバージョンが私のUnixタイムスタンプを返すUnixTimeStamp関数を記述することでした:

public Int32 UnixTimeStampUTC() 
    { 
     Int32 unixTimeStamp; 
     DateTime currentTime = DateTime.Now; 
     DateTime zuluTime = currentTime.ToUniversalTime(); 
     DateTime unixEpoch = new DateTime(1970, 1, 1); 
     unixTimeStamp = (Int32)(zuluTime.Subtract(unixEpoch)).TotalSeconds; 
     return unixTimeStamp; 
    } 

のIは次のようにそれを含めるが、結果は同じであった:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" 
Inherits="_index" %> 
<!DOCTYPE html> 
<html lang="de"> 
<head runat="server"> 
<meta charset="UTF-8"> 
<title>Index Page</title> 
<link rel="stylesheet" href="css/vendor/bootstrap.min.css"> 
<link rel="stylesheet" href="css/vendor/bootstrap- 
datetimepicker.min.css"> 
<link rel="stylesheet" href="css/vendor/sweetalert2.min.css"> 
<link rel="stylesheet" href="css/style.css?<%= UnixTimeStampUTC() %>"> 

これが再びレンダリングto:

<!DOCTYPE html> 
<html lang="de"> 
<head runat="server"> 
<meta charset="UTF-8"> 
<title>Index Page</title> 
<link rel="stylesheet" href="css/vendor/bootstrap.min.css"> 
<link rel="stylesheet" href="css/vendor/bootstrap- 
datetimepicker.min.css"> 
<link rel="stylesheet" href="css/vendor/sweetalert2.min.css"> 
<link rel="stylesheet" href="css/style.css?<%= UnixTimeStampUTC() %>"> 

残りの.aspx私もこのテクニックを使っていますo NTLMユーザーとそれが動作することを示す。

提案がありますか?

+0

私は今、解決のためのWorkaroudを持っている: 私は完全なリンク パブリック文字列NOCACHE(文字列のURL){ リターン '"' + URL + "版=" + UnixTimeStampUTC()+を返す関数を追加しました? '' '; } –

+0

[headタグのインラインコード - ASP.NET](https://stackoverflow.com/questions/8104268/inline-code-in-head-tag-asp-net)の可能な複製 –

答えて

0

ちょっと私は解決策を見つけた、 多分それは最高ではないが動作します。

.aspx.csには、キャッシュURLを生成する関数があります。多分これはsimmilarソリューションfoを検索誰かが助け

<link rel="stylesheet" href=<%= noCache("css/style.css") %>> 

:私は次のように私の.aspxの中でこの機能を使用してい

public String noCache(String url){ 
    return '"' + url + "?ver=" + UnixTimeStampUTC() + '"'; 
} 

:この機能は、上から私のUnixTimeStampUTC()関数を使用しています。

関連する問題