ASP宣言:
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick="'AddItem.aspx?catid=<%# Eval("CollectionID")%>'"></asp:LinkButton>
エラーが発生します:サーバータグが適切に形成されていません。
LinkButtonのデクロレーションの問題は何ですか?前もって感謝します。
ASP宣言:
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick="'AddItem.aspx?catid=<%# Eval("CollectionID")%>'"></asp:LinkButton>
エラーが発生します:サーバータグが適切に形成されていません。
LinkButtonのデクロレーションの問題は何ですか?前もって感謝します。
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick='AddItem.aspx?catid=<%# Eval("CollectionID")%>' />
の属性値の前後の無関係な引用符を削除しましたOnClick
。
ただし、OnClick
URLではなくデリゲートが必要です。ハイパーリンクを使用するか、イベントハンドラーに切り替えます。
<a href='AddItem.aspx?catid=<%# Eval("CollectionID")%>'>edit item</a>
この記事では、リンクボタンからイベントハンドラーに引数を渡す方法を示します。を使用する代わりに、プロパティを使用して設定OnClick
できます。OnCommand
CommandArgument
マークアップで
<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よりもコマンドイベントハンドラーを使用することをお勧めします。
これらの方法でparamを渡すことができます。
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item"
PostBackUrl='AddItem.aspx?catid=<%#Eval("CollectionID")%>&catname=<%#Eval("CollectionName")%>' />