2011-08-11 22 views
0

私は.net 4とc#を使用しています。ClientIDMode HTMLでIDを隠す方法ブラウザで生成されたソースコード

私はasp.netページとHyperLinkを持っています。私はいくつかのプロパティを変更するにはハイパーリンクID="uxLink"を使用しての背後にある私のコードでは

<asp:HyperLink ID="uxLink" ClientIDMode ="Static" runat="server"></asp:HyperLink> 

。コードを生成する私のブラウザで

は次のとおりです。

<a id="uxLink" href="/blog/5/test.aspx">Test link</a> 

それはなっているはずですので、私は、ブラウザで生成されたソースコードからIDを省略必要があります:私は一緒にプレイしようとした

<a href="/blog/5/test.aspx">Test link</a> 

ClientIdModeだが、成功していない...任意のアイデアをそれを行うには?ありがとう

+0

ありがとう:

<a href="/blog/5/test.aspx">Test link</a> 

私はこのウェブサイト上のこの便利なトリックを見つけます訂正 – GibboK

答えて

1

最も簡単な解決策は、ページをNULLにレンダリングする前に、コードの背後にあるコントロールのIDの妥当性を変更することです。私の例では

myLink.ID = null; 

これは、結果としてブラウザでまったくIDを生成しないだろう:あなたのための http://www.dotnetperls.com/remove-id

1

ClientIDMode ="Static"を削除すると、フレームワークは要素に「大きな一意の」IDを生成しますが、それでもIDがあります。

クライアントサイドスクリプトの要素を処理する場合は、IDを持つことが基本です。 IDは削除しないでください。

ASP.NETコンポーネントを使用しない場合は、<a>タグを使用してください。ところで更新

は、おそらくあなたはそれをここで説明していますASP.NET 4に欲しいものを行うための方法があります:http://www.codeproject.com/Tips/208323/Disable-ClientID-for-any-control-on-ASP-NET-Page?display=Print

私はそれを試していないが、私はちょうどよあなたを方向に向ける。 ClientIDを持たないことの意味を理解しておく必要があります。特にポストバックコントロール用。記事を読む。

+0

アドリアンに感謝します。私はまた、非常に簡単な解決策(ここに掲載)を見つけました。あなたは何を感謝しているか教えてください。 – GibboK

+0

私はloo kを記事に追加すると、本当に興味があります。現時点では、私はコントロールのために適切なIDを直接使用しているので、アダプタでアプリケーションにオーバーヘッドを加えずにIDを正確に無効にすることができます。 – GibboK

関連する問題