0

LinkButton内部で aを使用しており、コード ビハインドから属性をrepeater設定していますが、ブラウザーでページ ソースを表示すると、以下に示すように 2 つ生成されます。hrefhref

<li id="HeaderMenu_repeaterLevel1Menu_mainMenuLi_0" >
    <a id="HeaderMenu_repeaterLevel1Menu_linkButtonMenu_0"
       href="/Home" href="javascript:__doPostBack(&#39;ctl00$HeaderMenu$repeaterLevel1Menu$ctl00$linkButtonMenu&#39;,&#39;&#39;)">Home</a>
</li>

以下は私のコードです

<asp:LinkButton ID="linkButtonMenu" runat="server"
  CommandName="<%# ((BusinessObjects.Pages.Menu)Container.DataItem).ID %>"
  href="<%# ((BusinessObjects.Pages.Menu)Container.DataItem).URL %>">
</asp:LinkButton>

w3c エラーのチェック中にこの問題が見つかりました。を削除する方法href="javascript:__doPostBack...

私はあなたの助けに感謝します。
ありがとう。

4

2 に答える 2

2

HyperLinkの代わりに使用しLinkButtonます。

MSDN から:

LinkBut​​ton コントロールを使用して、Web ページにハイパーリンク スタイルのボタンを作成します。LinkBut​​ton コントロールは、HyperLink コントロールと同じ外観ですが、Button コントロールと同じ機能を備えています。コントロールをクリックしたときに別の Web ページにリンクする場合は、HyperLink コントロールの使用を検討してください。

リンクボタンは、他のページにリダイレクトするのではなく、ページにポストバックするために使用されます。

于 2013-06-10T08:00:28.103 に答える
1

href を自分で設定し、ASP.Net ハンドルのコマンド名を使用すると、矛盾が生じます (担当者を決定できないようです)。

そのため、"href" を自分で設定するのではなく、代わりに PostBackUrl プロパティを設定する必要があります。
または、必要に応じてハイパーリンクを使用します。

于 2013-06-10T09:35:01.240 に答える