62

HTML デザイナに、標準の HTML タグと同等の asp.net コントロールを表示できるチート シートを探しています。例として、<asp:Panel> は HTML <div> としてレンダリングされ、<asp:Label> は HTML <span> としてレンダリングされます。私はこれを無駄にグーグルで調べてきました。このプロジェクトの設計者が aspx ページのマークアップをより明確に理解できるように、だれかが優れたチート シートへのリンクを投稿できますか。

明確にするために、主要な ASP.NET コントロールのリストへのリンクと、それらが標準の HTML とどのように関連するかについての説明をお願いします。これが PDF 形式であるか、読みやすく印刷しやすい Web ページであるとよいでしょう。私の場合、HTML に精通した PHP 開発者が私たちのプロジェクトに参加してくれるので、できれば標準の ASP.NET サーバー コントロールをよりよく理解していると便利だと思います。彼にそのような「チートシート」を渡してください。

主に .NET 2.0 フレームワークについて言及していますが、3.0/3.5 の作業も行っています。

4

5 に答える 5

108

これは簡単な質問ではありません。話している .NET のバージョンや、場合によってはコントロールの状態に依存するからです。たとえば、1 & 1.1 の PANEL は TABLE にレンダリングされますが、それ以降のバージョンでは DIV になります。

しかし、全体として (2/3)、次のようになります。

  • パネル - 分割

  • パネル -- GroupingText="###" はフィールドセット、凡例

  • ラベル - スパン

  • ボタン - 入力、タイプ ボタン

  • リンク ボタン - JS ポストバック スクリプトを使用した Href

  • ハイパーリンク - 標準 HREF

  • 画像ボタン - 入力、画像を入力

  • Textbox -- デフォルトは Input、Type Text

  • テキストボックス -- モード = パスワードを入力、パスワードを入力

  • Textbox -- Mode= Multiline は Textarea です

  • DropDownList - 選択

  • リストボックス - 選択

  • RadioButton - 入力、グループ名付きラジオ

  • チェックボックス - 入力、チェックボックス

  • Repeater/Listview -- 複雑。

  • グリッドビュー - テーブル

  • テーブル - テーブル

  • ファイル - 入力、タイプ=ファイル

    それが基本です。LOGIN コントロールなどのより難解なコントロールは、オッズと終了点がまとめられたテーブルです。

于 2009-01-20T16:20:56.533 に答える
11

Stephenのリストはかなり包括的です。ただし、次のメモを追加します。

ほとんどの場合、既知のBrowserCapsに依存します。

1.x パネルは IE6+ では div としてレンダリングされます - ただし、Firefox (または他の「ダウンストリーム」ブラウザ - デフォルトでは Machine.Config に詳細がないため、ダウンストリームと見なされます) では、単一のセル テーブルとしてレンダリングされます -これは、Firefox/Opera/Safari/etc の更新された BrowserCaps を Machine.Config または Web.Configs で提供することで解決できます。

また、コントロール アダプターは出力を変更できます。たとえば、CSS コントロール アダプターは、ほとんどの表形式のコントロール (ログイン、登録、リピーターなど) のスタイル付き div を出力します。

ASP.NET 4.0 にはデフォルトで CSS コントロール アダプタが組み込まれることが TechEd/PDC で発表されたことに注意してください。

于 2009-01-20T16:50:27.287 に答える
4

これはあなたの質問に直接答えるものではありませんが、多くの場合、runat="server" を通常の HTML タグに追加して、ASP.Net に認識させることができます。ページを動的に変更できるようにしたいが、それでもデザイナーが作業できるようにしたい場合は、デザイナーにとって物事が簡単になるかもしれません。

<div id="myDiv" runat="server"></div>
<span id="mySpan" runat="server"></span>

編集:

(steve_c が指摘したように) 言及するのを忘れていたことの 1 つは、runat="server" を追加するとタグの ID が変更されることです。これは少し面倒です。CSS で ID を使用している場合は運が悪いですが、JavaScript で <%= myDiv.ClientID %> のようなものを追加して、.Net によって生成された ID を取得できます。

于 2009-01-20T16:06:28.187 に答える
0

特定のタグをレンダリングする必要がある場合は、htmlgenericcontrol が役立つ場合があります。

于 2009-01-20T16:40:24.733 に答える