2009-06-10 9 views
0

表示されます私は、Visual Studio 2008年まで、私のMVCアプリケーションを実行すると、ウェブサイトは、スタイリングに関して罰金に見える、画像などASP。ネットMVC - 出版されたビルドは異なっ

しかし、私はにこのビルドを公開する場合フォルダを作成し、IISを使用して表示すると、スタイリングがすべて終了し、画像が正しく表示されません。

最初は、私がスタイルシートに関して私の代わりに何らかのエラーだと思っていましたが、私はMVCテンプレートですぐに使用できるスタイルシートを若干修正したバージョンのみを使用しています。

サイトの公開やCSSシートに関して何か間違っていますか?

敬具、

ブレット

+0

あなたのスタイルシートに絶対または相対URLを使用していますか? –

答えて

0

これはまったく私のせいでした!

私はページを使って表形式のデータを表示しようとしましたが、これはVisual Studio内でプロジェクトを実行しているときにうまくレンダリングされましたが、サイトを公開したときに、 Explorer 7,8。

しかし、Firefox 3で同じ公開ビルドを表示したとき、そのWebサイトがページ上で正しく表示されているように見えました...!奇妙なことに、私は知っている。

Internet Explorerで正しく表示されなかった部分を修正するためにCSSを修正しようとしましたが、時間のためにタグを完全に削除してしまい、代わりにタグを持ってきました。

3

はおそらく犯人はあなたのパスは、サイトのルートに相対的なもので、あなたがルートにないフォルダに公開されていることです。 CSSのURLを変更してCSSファイルとの関連付けを行い、マークアップでUrl.Contentを使用してURLが動的に翻訳されるようにします。

<img src='<%= Url.Content("~/Content/images/image.png") %>' alt="" /> 
1

私はほぼ同じ問題を抱えていましたが、私のURLを記憶していました。あなたのIISバージョンでソースを見ると、CSSファイルなどを指しているときにURLが正しくないことがわかるはずです...

私のマスターのすべてのCSSとJSコールをヘルパー方法は、例えば:このことができます

<%= Html.RegisterCSS("site.css") %> 
<%= Html.RegisterScript("jquery-1.3.2.min.js") %> 

希望...


編集: ああ、うん、私はヘルパーへの "ヘルプ" 私をを作成しました。だから、私はヘルパーで次のコードを持っている。

public static string RegisterScript(this System.Web.Mvc.HtmlHelper helper, string scriptFileName) 
    { 
     string scriptRoot = VirtualPathUtility.ToAbsolute("~/Scripts"); 
     string scriptFormat = "<script src=\"{0}/{1}\" type=\"text/javascript\"></script>\r\n"; 
     return string.Format(scriptFormat, scriptRoot, scriptFileName); 
    } 
    public static string RegisterCSS(this System.Web.Mvc.HtmlHelper helper, string FileName) 
    { 
     //get the directory where the scripts are 
     string Root = VirtualPathUtility.ToAbsolute("~/Content"); 
     string Format = "<link href=\"{0}/{1}?{2}\" rel=\"stylesheet\" type=\"text/css\" />"; 
     return string.Format(Format, Root, FileName, DateTime.Now.ToString("hhmmss")); 
    } 

私はIE8がIE7モードで表示されていたところに「落ち着き」があります。これは、同僚がそれを指摘するまで私に頭痛を引き起こした...私はここにIE8を持っていないが、私はそれが開発者ツールのセクションにあると思う。

+0

CSSファイルが拾われていないということではありません...しかし、いくつかの要素はIISを実行しているときの動作が異なります... また、上記のようにHtml.RegisterCSS行を追加しようとしましたが、しかしそれについての言及はない。それもグーグルで試してみましたが、何も生産的に戻ってきませんでした。 –

+0

Ok - これはもう少し意味がありますが、作成したヘルパー関数はどこに保存していますか?そのページのコードビハインド、またはそのページのコントローラのコードビハインドでは? –

+0

Helpersフォルダにファイルを作成しました。そこで、これらの種類のビューエクステンションをすべて収集します...再利用できるようにします。私は現在、(偶然にも)ヘルパーを書いて、Railsで "date_select"のような機能を提供しています...(気になります) /Helpers/ViewExtensions.cs – boymc

関連する問題