4

ASP宣言:

 <asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick="'AddItem.aspx?catid=<%# Eval("CollectionID")%>'"></asp:LinkButton>

エラーが発生します:サーバータグが適切に形成されていません。

LinkBut​​tonのデクロレーションの問題は何ですか?前もって感謝します。

4

2 に答える 2

7
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick='AddItem.aspx?catid=<%# Eval("CollectionID")%>' />

の属性値の前後の無関係な引用符を削除しましたOnClick

ただし、OnClickURLではなくデリゲートが必要です。ハイパーリンクを使用するか、イベントハンドラーに切り替えます。

<a href='AddItem.aspx?catid=<%# Eval("CollectionID")%>'>edit item</a>

この記事では、リンクボタンからイベントハンドラーに引数を渡す方法を示します。を使用する代わりに、プロパティを使用して設定OnClickできます。OnCommandCommandArgument

マークアップで

  <asp:LinkButton id="lnkEdit" 
       Text="Edit Item"
       CommandArgument='<%# Eval("CollectionID")%>'
       OnCommand="lnkEdit_Command" 
       runat="server"/>

コードビハインドで

protected void lnkEdit_Command( object sender, CommandEventArgs e )
{
    // evaluate e.CommandArgument and do something with it
}

比較的高価なポストバックを排除するため、可能な限りURLよりもコマンドイベントハンドラーを使用することをお勧めします。

于 2012-01-28T00:42:52.813 に答える
2

これらの方法でparamを渡すことができます。

<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" 
PostBackUrl='AddItem.aspx?catid=<%#Eval("CollectionID")%>&catname=<%#Eval("CollectionName")%>' />
于 2012-01-28T05:09:06.963 に答える