<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>
This articleリンクボタンからイベントハンドラに引数を渡す方法を示しています。 OnClick
の代わりにOnCommand
を使用し、CommandArgument
プロパティを設定することができます。分離コード
protected void lnkEdit_Command(object sender, CommandEventArgs e)
{
// evaluate e.CommandArgument and do something with it
}
で
マークアップで
<asp:LinkButton id="lnkEdit"
Text="Edit Item"
CommandArgument='<%# Eval("CollectionID")%>'
OnCommand="lnkEdit_Command"
runat="server"/>
私は、コマンドイベントハンドラ可能な限り、それは比較的高価なポストバックを排除して対URLを使用して好みます。
引用符で囲まれている場合があります。なぜ、コードの背後にあるイベントを発生させず、response.redirectをやっているのですか? – AJP