2

EF5.0でコードファーストメソッドを使用するMVCWebアプリにVisualStudio2012を使用しています。ある時点でモーダルウィンドウを表示するために、次のコードを記述しました。

<div id="mod" style="display:none;">
    <div id="mod-container">  
        <div id="mod-close"><img src="~/Content/icons/close.png" title="close" onclick="$('#mod').fadeOut();"/></div>   
        <div id="mod-content"></div>
    </div>
</div>

正常に動作する場合<img src="~/Content/icons/close.png" [...] />は、URLがであると見なすブラウザで画像が見つからないことを除いて

http://localhost:49895/Class1/Home/~/Content/icons/close.png

正確には、私のdivのにあるすべてのコードのURLが壊れています。画像をdivの上に置くと、次のURLで正しく表示されます。

http://localhost:49895/Content/icons/edit.png

あなたは私が物事を台無しにした場所についての考えを持っていますか?

Edit2:例(問題が解決された後)

これは機能します:

<img src="~/Content/icons/close.png" title="close" onclick="$('#mod').fadeOut();"/>
<!-- comment containing a quote ' -->
<div id="mod" style="display:none;">
    <div id="mod-container">  
        <div id="mod-close"></div>   
        <div id="mod-content"></div>
    </div>
</div>

これは機能しません:

<!-- comment containing a quote ' -->
<div id="mod" style="display:none;">
    <div id="mod-container">  
        <div id="mod-close"></div>   
        <div id="mod-content"></div>
    </div>
</div>
<img src="~/Content/icons/close.png" title="close" onclick="$('#mod').fadeOut();"/>
4

2 に答える 2

2

新しいRazor2.0チルダ解析のバグである可能性があります。または、引用符などが欠落しているためにHTMLが台無しになっている可能性があります。URLを解決するより明確な方法を使用してみてください

<img src="@Url.Content("~/Content/icons/close.png")" />

それが機能する場合は、かみそりのバグを示唆しています。そうでない場合は、HTMLが何らかの形で壊れている可能性がありますが、パーサーが開始して何が問題なのかを示すには、余分な@記号で十分な場合があります。

于 2012-10-18T09:00:14.850 に答える
1

~HTMLではなくaspコード要素です。そのため、HTMLではレンダリングされません。

srcをでラップしてみてください@Url.Content

<img src="@Url.Content("~/Content/icons/close.png")" />
于 2012-10-18T09:00:40.017 に答える