質問

プロジェクトをASP.net MVCフレームワークのベータリリースに移動しましたが、私が抱えている唯一の問題はjQueryjQueryUIにあります。

取引は次のとおりです:

Site.Masterには、次のスクリプト参照があります:

<script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui.js" type="text/javascript"></script>

これらを使用すると、ビューの1つにあるaccordian UIは完全に機能しますが、1つの問題を除きます。ThemeRollerの画像がページに含まれていません。 jQuery参照をコメント化すると、ThemeRollerイメージがそこにあります。すべてのcssはContent folderにあり、すべてのスクリプトはScripts folderにあります。

これはばかげたパスの問題であることは知っていますが、それが私をひきつらせています。

不足しているものは何ですか?

更新

私は最初の回答を試みましたが、詳細はコメントを読んでください。ご覧の方、ありがとうございました。

2番目のアプローチも機能していません。困惑しています。

別の更新

スクリプトにUrl.Contentタグを使用すると、実際にスクリプトを適切に実行できます。スタイルシートに通常のタグを使用すると、ThemeRollerに関連するすべてのスタイルを除くすべてのスタイルがページに取得されます。

jquery-ui-themeroller.cssファイルはContentフォルダーにあり、要素を検査するとcssが存在します。問題は、このcssファイルからthemerollerのimagesフォルダーへのマッピングにあると思われます。これは、Contentフォルダーにもあります。次のように指定されたこのファイル内の画像リンク:background: url(images/foo.gif)

このファイルのリンクを変更する必要がありますか?

役に立ちましたか?

解決

これは役に立ちますか

http://forums.asp.net/p/1334947/2690469.aspx

  

矛盾の理由は   非常に簡単ですが、そうではないことを認めます   わかりやすい!あなたが持っているとき   <!> lt; link <!> gt; <!> lt; head内のタグ   runat = <!> quot; server <!> quot; <!> gt;、ASP.NETは処理します   <!> lt; link <!> gt; URLをタグ付けして検出し、   に関連してそれらを解決する   アプリケーションのルート。あなたが持っているとき   <!> lt; script <!> gt;ページ上のタグ(なし   runat = <!> quot; server <!> quot;)ASP.NETは   単純なのでそのままにしておきます   古いHTML。

     

Url.Content()を使用するアプローチ   それを解決するために使用します   アプリのルートに関連して解決されます。   <!> lt; link <!> gt;のようにタグ。

他のヒント

すべてのビューが同じレベルにない限り、どちらかを使用する必要があります

  • /Scripts/jquery-1.2.6.jsなどの絶対パスを使用します
  • さらに良いことに、<!> lt;%= Url.Content(<!> quot;〜/ Scripts / jquery-1.2.6.js <!> quot;)%<!>などの仮想パスを解決しますgt;

Url.Content()http://jvance.com/media/ 2008/10/18 / UrlContent5.media

画像の現在の場所を指すようにjquery-ui-themeroller.cssのリンクを変更する必要があります。

と同様に、cssファイルが探している画像のパスを更新する必要があります。

background: url(images/foo.gif)

パスから「images /」を削除して、次のようにします。

background: url(foo.gif)

CSSと画像の両方がコンテンツフォルダーにあるため。

    protected void Page_Load(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterClientScriptInclude(this.GetType(),"JQuery", ResolveUrl("~/js/jquery.min.js"));
        Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "JQueryUI", ResolveUrl("~/js/jquery-ui.custom.min.js"));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top