0

こんにちは私はInternet Explorer 9のバグについて助けが必要です。私は現在、ASP.NET 4 MVC 3 RazorでいくつかのCRUD画面を開発中です。複数の画面では、@ Html.DropDowListForを使用して外部キーの簡単なリンクを作成します。Html.DropDownListForのIE9バグ

しかしIE9(そしてIE9のみ)ではDropDownListが通常のサイズよりも小さくレンダリングされ、テキストは通常​​より数ピクセル低く表示され、表示される単語が少数のキャラクター(どの数字が、私はそれが約10だと思うかわからない)完全にレンダリングされません。変わった部分は、DropDownListをクリックすると、それ自体が修正されるということです。

ビューコード:

@Html.DropDownListFor(model => model.Asset.FkAssetTypeId, new SelectList(Model.AssetTypes, "AssetTypeId", "Name")) 
@Html.ValidationMessageFor(model => model.Asset.FkAssetTypeId) 

モデルコード:

[Display(ResourceType = typeof(I18N_Asset), Name = "Label_Asset_FkAssetTypeId")] 
public int FkAssetTypeId { get; set; } 

誰もがこの問題を解決する方法を、この問題での経験を持っている、と知っていますか?お手伝いありがとう。

答えて

1

私は問題が何であるかを見つけました。同じページでJQueryのタブを使用していました。これにより、ドロップダウンリストの前景が、サイト全体に設定されたCSSに拡大縮小されなくなりました。代わりにdropdownboxforをJQueryのタブの前景色でレンダリングし、前景をCSSに設定します。

私はDocument.ready機能でフォントサイズを設定するには、Javascriptを使用してこの問題を解決した:

// IE9 causes a bug where the dropdownlists will not be displayed correctly because they won't adapt to their current font-size 
// this javascript fixes that by resetting the font-size 
if (window.navigator.systemLanguage && (!document.documentMode || document.documentMode === 9)) { //check if IE9 is being used 
    var list = document.getElementsByTagName('Select'); // get all dropdownlists 
    for (i = 0; i < list.length; i++) { 
     list[i].style.fontSize = list[i].style.fontSize; // reset the font-size 
    } 
}