0

状況: Sublime2テキストエディターを使用してHTML5/ CSS3とJavascriptで1年間ウェブページを作成してきましたが、大学のコースでは現在、Asp.NetとVisualStudio2010を使用する必要があります。ただし、手作業で行う場合は、すべての要素内にasp:を記述するのに時間がかかり、一部のHTML 5タグに適用すると構文エラーが発生し、他のタグには適用されないことがわかります。

HTML 5の例: <button id="btn" type="submit" value="Button"/>

Asp.netの例: <asp:Button ID="Button1" runat="server" Text="Button" />

質問: asp:の部分は何も影響を与えずに省略できますか、それともIISまたはC#バックエンド機能に必要ですか?runat = "server"は省略できますか?グーグルは私の問い合わせに関して乾いてきました、それでどんな助けでもありがたいです。

4

2 に答える 2

1

このrunat="server"パーツは、ボタンをレンダリングする必要があることを.NETに通知する必要があります(POST時に処理するための.NET固有のIDが含まれます)。Webフォーム(私はMVCから始めました)にあまり精通していませんが、そのasp:部分はサーバーコントロールと標準のHTMLマークアップを区別するのに役立つと思います。

それを削除してみてください。何かが壊れた場合は、それが必要であることがわかります。たとえば、ボタンを削除してもボタンが表示されない場合は、サーバーコントロールのプレースホルダーであることを知るために、明らかに.NETマークアップパーサーがボタンを表示する必要があります。

于 2013-01-10T00:35:50.793 に答える
1

どちらも削除することはできませんが、理由を聞いてください。ASPに慣れていないため、asp:との意味を誤解していると感じていrunat="server"ます。

最初:runat="server" 要素のこのプロパティは、これが実際にはサーバー側のコントロールであることをコンパイラに通知します。したがって、最初のプロパティ<button/><button runat="server"/> 純粋なhtmlであり、2番目のプロパティはコントロールであり、にバインドできます。サーバ側。.NetはそれにclientIDを与えます(あなたがそれを自分で与えなければならないIDと間違えないでください)。

2番目:asp: これは、特定の要素のプレフィックスであり、これらがASPコントロール(ASP.netフレームワークによって提供されるデフォルトのコントロール)であることをコンパイラーに通知します。これらには、Buttons、TextBoxes、DropDownListsなどが含まれます...これらの1つをhtml要素と間違えないでください。

an<asp:Button id="myAspButton" runat="server"/> はと同じではありません<button id="myHtmlButton"/>

1つ目は、サーバー側のコントロールであり、バインドできます(その属性を参照)。このコントロールは、たとえばrunat="server"ブラウザーにレンダリングされます。<input type="submit"/>

必要に応じて、asp.netボタンクラスのレンダリングを変更して、まったく異なるものを返すようにすることができます。

また、asp.netクラスの使用に限定されません。独自のコントロールを作成し、それらをカスタム作成されたライブラリに配置して、独自のプレフィックスを付けることができます。

このようなカスタムコントロールを作成した場合、そのプレフィックスをweb.configファイルに登録できるため、元のボタンから拡張するカスタムボタンを作成できます(ただし、デフォルトのラベルが前に付いています...

<myc:CustomButton ID="myButton" Text="myButton" Label="myLabel" runat="server"/>

これは次のようにレンダリングできます:

<label>myLabel</label>
<button ID="*******">myButton</button>

アスタリスクは、.netFrameworkから取得する一意のIDを表しています。

カスタムコントロールについて詳しく知りたい場合、またはデフォルトコントロールを拡張する場合は、カスタムコントロールを作成するか、TextBoxコントロールから拡張するためのステップバイステップの説明があります。また、コントロール(この場合は「cc」)にカスタムプレフィックスを追加する方法も示しています。 詳細については、こちらをご覧ください。

于 2013-01-10T00:58:06.087 に答える