簡體   English   中英

ASPX +漸變SVG在Visual Studio 2010上不起作用

[英]ASPX + gradient SVG not working on Visual Studio 2010

我最近在設計網頁時遇到問題。 我需要有圓角和漸變背景。 對於IE6-8,Firefox和Chrome,我已經使用CSS3Pie解決了它。 由於Pie在IE 9上無法使用,我想出了SVG漸變 當我在本地計算機上進行測試時,沒有問題。 一切還好。 但是,當我在VS2010 Proyect上粘貼時,沒有任何反應,因為找不到.svg。 沒達到? 還是VS2010問題? 這是我的代碼:

default.aspx

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <title>Sample</title>
    <style type="text/css" media="screen">
    .svgWorkPlease
    {
        border-radius: 100px;
        box-shadow: 0px 2px 4px #999;
        margin:20px;
        height:500px;
        width:500px;
        background-repeat: repeat-x;
        background-position-x: 0px;
        background-position-y: 100%;
        filter:none;
        background-image: url(gradients.svg);
        background-size: 100% 200%;
    }
    </style>
</head>
<body>
    <div class="svgWorkPlease">Hmmmmm....</div>
</body>
</html>

漸變

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="200" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient id="grad1" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
    </linearGradient>
    <linearGradient id="grad2" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:rgb(0,255,255);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </linearGradient>
  </defs>
  <rect x="0" y="0" width="100" height="100" style="fill:url(#grad1)" />
  <rect x="0" y="100" width="100" height="100" style="fill:url(#grad2)" />
</svg>

提前致謝!

我想我可能對這款游戲有些遲了,但是如果您仍然遇到這個問題,那么我可能會為您提供解決方案:

卡西尼(ASP.Net開發服務器)無法提供SVG。 對我(因此對整個開發團隊而言)有用的解決方案是使IIS運行並將項目配置為使用IIS作為服務器環境運行。 (另一種解決方案是只在頁面內容中使用內聯SVG數據,但我不建議這樣做;我覺得很亂。)

那是在SO上的各種線程以及在這里和那里的一個或兩個網頁上提供給我的解決方案,這些鏈接都忘記了歸檔。 不幸的是,我也遇到了身份驗證問題,並且還必須研究一個單獨的解決方案。 這是我發送給我的開發團隊的指令匯編清單(精簡一點,減少細節,以免成為本書):

注意:以下大多數步驟都需要您本地計算機上的管理帳戶,或者如果您位於AD域上,則需要Active Directory管理員帳戶(或要求域管理員為您提供本地管理員特權-這就是我所做的)。

啟用IIS和Windows身份驗證

注意:如果這不適用於您,則可能需要從頭開始安裝IIS。

  1. 轉到開始>控制面板>程序和功能>打開和關閉Windows功能
  2. 在功能列表中,選中“ Internet信息服務”旁邊的框,然后展開樹並導航到“ Internet信息服務>萬維網服務>安全”,然后選中“ Windows身份驗證”旁邊的框。 單擊確定。

配置IIS

  1. 打開“開始”菜單,然后在搜索框中輸入“ IIS”。 按Enter / Return將其打開。
  2. 添加一個新站點,確保使用正確的應用程序池(我的應用程序是MVC,依賴於.NET 4.0),並將目錄指向存儲項目副本的本地目錄(我將我的目錄保存在C:\\ Projects中) \\)。 確保指向的是Web應用程序的根文件夾,而不是項目的根文件夾(如果使用MVC,則正確的文件夾將直接包含您的Models / Views / Controllers文件夾)。 為該站點提供端口號(只需整理一下內容,即可記住,但如果打算同時在此計算機上測試多個項目,則不要使用“ 80”)。 單擊確定。
  3. 在樹頂部的主服務器的配置窗格中,選擇MIME類型,並確保列表中有一個類似於“ .svg”的條目。 “ image / svg + xml”-如果不存在,請自行添加。
  4. 在新網站的配置窗格中,選擇“身份驗證”。 禁用除“ Windows身份驗證”以外的所有形式的身份驗證- 啟用該身份驗證。

注意:如果ASP.NET v4.0應用程序池不在步驟2的列表中,請執行以下應急步驟:

應用程序池應急

注意:這些步驟僅在ASP.NET v4.0在IIS管理器中選擇應用程序池時不可用的情況下使用。

  1. 打開命令終端。
  2. 鍵入cd C:\\Windows\\Microsoft.NET\\Framework64 (Framework64文件夾名稱可能不同,因此您可能只需要在C:\\Windows\\Microsoft.NET目錄中查找即可)。 按Enter / Return。
  3. 鍵入dir列出此文件夾的內容。 查找類似v4.0.30319的文件夾名稱,然后將其插入cd
  4. 鍵入aspnet_regiis -ir 按Enter / Return。
  5. 完成操作后,關閉終端窗口並關閉/重新打開IIS管理器,然后再次啟用“ Windows身份驗證”。

現在,要預覽您的網站,請將VS2010項目配置為指向http://localhost:<port> ,其中<port>是在Configure IIS的步驟2中輸入的端口號。 您還需要為Windows身份驗證配置項目。


請注意,這些說明僅在帶有IIS 7.5的Windows 7企業版上經過了親自測試。 即使您的環境與我的環境相同,您的應用程序也可能不相同,因此您可能需要修改我的一些步驟。

我希望我有所幫助,在這里不要多余。 我認為我可能只是將所有步驟匯總在一個地方,而不是僅僅給您一堆鏈接並說“祝你好運”。 如果您(或任何人)希望在上述步驟中提供更多詳細信息,我可以更明確地表明; 我只是假設對Windows,IIS和Visual Studio有一定程度的了解。

如果找到上面提到的鏈接,我將編輯此帖子並將其包含在內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM