9

ASP.NETMVC4Webアプリケーションの_Layout.cshtmlにある悪名高い「ここにあるロゴ」を置き換えようとしています。以下は、メインページ(ホームビュー)では機能しますが(画像が表示されているように機能します)、連絡先ビューでは機能しません(画像はありませんが、アクションは機能します)。これは、開発環境と本番環境の両方で機能するために必要です。

< p class="site-title">@Html.ActionLink(" ", "Index", "Home", new
  {
  style = "background: url('./Images/login_sm.bmp') no-repeat center right;
          display:block; height:84px; width:264px;"
  })
</ p>
4

5 に答える 5

30

画像は常に現在のCSSの場所を基準にしています。

インラインCSSを使用している場合は、URLヘルパーを使用する必要があります。

@Html.ActionLink(
    " ", 
    "Index", 
    "Home", 
    null , 
    new { 
        style = "background: url('" + Url.Content("~/images/login_sm.bmp") + "') no-repeat center right; display:block; height:84px; width:264px;" 
    }
)

または、CSSクラスを定義する場合:

@Html.ActionLink(
    " ", 
    "Index", 
    "Home",  
    null , 
    new { 
        @class = "mylink" 
    }
)

.mylinkルールを定義した場所~/content/Site.css

.mylink {
    background: url('../images/login_sm.bmp') no-repeat center right; 
    display: block; 
    height: 84px; 
    width: 264px;
}
于 2012-10-19T15:34:26.700 に答える
12

あなたが以下のようにできる最善の方法

@Html.Raw(@Html.ActionLink("[replacetext]", "Index", "Home").ToHtmlString().Replace("[replacetext]", "<img src=\"/assets/img/logo.png\" ... />"))

完璧に機能しています

于 2013-10-17T11:13:44.470 に答える
4

あなたはこれを使うことができます

<a href='@Url.Action("action", "Controller")'>
<img src='@Url.Content("~/images/imageName.png")' /></a>

これは正常に機能しており、次のように機能します@Html.ActionLink("linkName","action","Controller")

于 2015-09-29T07:13:46.497 に答える
1

Dilip0165ソリューションを少し編集しました

@Html.Raw(@Html.ActionLink("[replacetext]", "Index", "Home").ToHtmlString().Replace("[replacetext]", "<img src=\"" + @Url.Content("~/Content/assets/img/logo.png") + "\" alt=\"Link description\" title=\"Link description\" />"))

デフォルトの境界線なしでそれが必要な場合は、これをcssに追加します

img {border: 0px;}
于 2015-01-23T11:39:37.397 に答える
0

高度な<a>タグのカスタマイズが必要な場合(アンカー内の他のタグなど)は、自分で行う方がよいことがわかりました。

URLを生成するためにUrlHelper.GenerateUrlメソッドを使用していた後、手動で<a>タグを作成し、生成されたURLを使用しました。

于 2016-09-23T15:27:16.297 に答える