私は当初vs2008を使って作成されたWebサイトを持っています。最近vs2010にアップグレードしました。私はプロジェクトをvs2010プロジェクトに変換したとき、ターゲットフレームワークを3.5から4.0に更新しないように指示しました。限り、私はすべての参照とプロジェクトのフレームワークを見てから見ることができるすべてはまだ3.5ですが何らかの理由で私のASP.NETメニューはレンダリングhtmlテーブルからスパンに行った。私は4.0でMenu.RenderingModeプロパティを追加し、Tableの代わりにListにデフォルト設定しましたが、ビルドしているものはすべて3.5であるだけでなく、手動でTableモードに設定することもできないことを知っています。誰でもこの問題を修正していることを知っています(スパンや4.0へのCSSのハック以外のものが望ましいです)。 4.0にアップグレードするだけですが、まだ準備が整っていません。私はliタグ(リスト)を使ってolまたはulをレンダリングしていないので、それを修正するとは確信していません。レンダリングスパンです。ASP.NETメニューのレンダリングがvs2008からvs2010と異なる
答えて
メニューレンダリングの問題は、vs2008から2010への変換には関係しません。 asp.net 3.5のasp.menuコントロールは、chromeとsafariで正しくレンダリングされません。
SafariとChromeの両方でこの問題を解決する最も簡単な方法は、このアダプタを無効にするために、独自のブラウザファイルをApp_Browserに含めることです。
<browsers>
<!-- Disable the Menu Adapter for the Safari browser without changing the root browser file -->
<browser refID="Safari1Plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu"
adapterType="" />
</controlAdapters>
</browser>
</browsers>
と (使用している場合)だけでページまたはマスターページの読み込みイベントに以下のコードを貼り付けます。
if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
{
Request.Browser.Adapters.Clear();
}
vs2010ではなくvs2008から公開されたときにこのプロジェクトがうまく動作するため、まだvs2010に関連しているようです。私は、あなたとブレントが何とか何とかして(vs2008/vs2010から)言及した.browserファイルを扱っていると思います。なぜなら、Request.Browser.Adapters.Clear()呼び出しがそれを修正したためです。サードパーティーのソリューションのために.browserファイルをすでに持っていました。今まで気付かなかったか知っていませんでした。 –
ここに私はvs2008のスパンを持っています。とにかく、ASP.NET用のデフォルトのブラウザファイルは、Safariブラウザ用の特別なアダプタにMenuコントロールを指示します。残念ながら、ASP.NETはUserAgentをChromeから解析し、Safariとして認識します。 – Shahdat
- 1. vs2008からvs2010へのWebServiceの変換
- 2. VS2010とWindows 7のVS2008 SP1
- 3. VS2008からVS2010へのプロジェクト変換
- 4. UnitTest SSIS(VS2008)with VS2010
- 5. vs2008とvs2010のパブリックインターフェイスの違いは?
- 6. ASP.NET MVC - 異なるロールのメニュー
- 7. ASP.NET 4.0とVS2008?
- 8. VS2008からアップグレード時にVS2010のアップグレードでブレークポイントヒットが発生しない
- 9. VS2008からVS2010へのReporting Servicesレポートのアップグレード
- 10. VS2008からVS2010へのプロジェクト変換後の表現/エンコーディングエラー
- 11. vs2008からvs2010へのWebアプリケーションの変換?
- 12. vs2008からvs2010への移行の問題
- 13. VS2008からVS2010に変換するときの参照プロジェクトの問題
- 14. VS2008からVS2010への移行時に留意すべき点
- 15. フォントMACレンダリングとMACレンダリングが異なる
- 16. VS2010とVS2008が正しく動作しません。
- 17. ASP.netは異なるサーバーで異なるレンダリングを行います
- 18. Crystal Report 10.5(VS2008)はVS2010と連携できますか?
- 19. 異なるブラウザでレンダリングが異なる
- 20. Webサイトのレンダリングが異なるサーバーと異なる
- 21. ブレッドクラムス - ASP.NET - VS2008
- 22. IISがサービスを提供すると、CSSレンダリングが異なるレンダリング
- 23. クライアントとサーバーからレンダリングするとJsreportの結果が異なる
- 24. AtomSite.netソース - VS2008の「ビルド」メニューに「パブリッシュ」が表示されない
- 25. ChromeがSafariと異なるレンダリング
- 26. ASP.NET VS2008 C# - ドロップダウンリスト - ポストバック
- 27. ASP.NET仮想ディレクトリ_within_ VS2008
- 28. ASP.NET - コントロールとデザインのサイズが異なる
- 29. VS2010とVS2012でDeploymentItemの動作が異なります
- 30. vs2008/vs2010にTextBoxのキャレット位置変更イベントがありますか?
ウェブサイトのDOCタイプは見ましたか?あなたの新しいDOCタイプの 'table'タグは古くなっているので、すべてのテーブルを' span 'としてレンダリングしていると思います。一度それを調べてみてください。 – uday
私はWinMergeを使ってhtmlレンダリング(vs2008からvs2010まで)の違いを見てきました。 doctypeが同じであるように見える<!DOCTYPE html PUBLIC " - // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> –
私が言及するのを忘れたことの1つは、vs2010のlocalhostではうまく見えますが、IIS(私たちの場合はIIS 7)に公開されたときに問題が発生しています。 IEとFirefoxではうまく見えますが、Chromeではうまくいきません。 –