2010-12-14 22 views

答えて

29

、彼らはクリーナーHTML構文のサポートを導入しました。あなたはそれについてat Scott Gu's blogを読むことができます。クライアントIDのクラシックモデルが必要な場合は、web.configを調整できます。

<configuration> 
    <system.web> 
     <pages controlRenderingCompatibilityVersion="3.5" /> 

これにより、アプリケーションのアップグレードが容易になります。また、ウェブの設定で設定することができControl.ClientIDModeプロパティを、使用して、コントロールごとに(とページあたり)これを変更することができます

<configuration> 
    <system.web> 
     <pages clientIDMode="AutoID|Predictable|Static|Inherit" /> 

AutoIDは、古典的なASP.NET 2.0モデルとコントロールをレンダリングします。

+0

私の場合、おそらく特別ですが、この方法を試してみて、初めてclientIDMode属性を同時に入れてみてください。 TypingPanda

0

設定はありませんが、コンテナ内のコントロールのIDをクライアントに変換する方法を簡素化するためのMSによる決定がクライアントに変換されます。

Scott Guthrieが変更を説明するblog postです。その背後にある理由:

クリーン、標準ベースの、ASP.NET 4.0ではCSSフレンドリーマークアップは

1

私が使用するプレフィックスを決めるには、ASP.NETにまで覚えています。 ハードコードされたid値を持つコントロールを参照するのは悪いことです。

あなたはいつもあなたに適切なIDを生成しますClientIDプロパティを使用する必要がありますそのは、テキストボックスの適切なIDを計算し、label属性にそれを入れて、上の例では

<td class="tmarg10" style="width: 150px"> 
    <label for="<%=txtName.ClientID %>"> 
     Name of the mall group :</label> 
</td> 
<td class="tmarg10"> 
    <asp:TextBox ID="txtName" runat="server" Columns="90" /> <br /> 
</td> 

を。このようにして、コントロールの同じIDを保持することについて、もう心配する必要はありません。

0

コントロールのIDに「ct100」プレフィックスを追加したい場合は、Webページにマスターページを追加します。しかし、上記のように、あなたのソースのコントロールIDでハードコードを使用しないようにして、カスタムID生成のためのMetthewのコメントを読んでください

関連する問題