コツがあります。これは、jQuery、1 つの非表示フィールド、および 1 つの非表示の ASP ボタンを使用して行うことができます。
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Hidden Button" />
<asp:HiddenField ID="hdnLIClicked" runat="server" />
今jQuery部分、readyイベントで
$().ready(function() {
$("#Button1").hide();//hiding the button through jQuery
$("#basic").click(function(){
$("#hdnLIClicked").val("basic");
$("#Button1").click();
});
$("#new").click(function(){
$("#hdnLIClicked").val("new");
$("#Button1").click();
});
});
または、両方のリスト項目に共通のクラスが既にあるように、リスト項目がさらにある場合は、すべてのリスト項目に共通のクラスを与えることができます。すなわち「猫アイテム」。
$().ready(function() {
$("#Button1").hide();//hiding the button through jQuery
$(".cat-item").click(function(){
$("#hdnLIClicked").val($(this).attr("id"));
$("#Button1").click();//this will fire the hidden button event on server side.
});
});
そして、hiddenfield でクリックされた「li」が表示されます。
バックエンドでは、ボタン クリック イベントを次のように処理します。
protected void Button1_Click(object sender, EventArgs e)
{
if (hdnLIClicked.Value == "basic")
{
//handle your logic for basic here...
}
else if (hdnLIClicked.Value == "new")
{
//handle your logic for new here...
}
}
jQuery を使用してボタンを非表示にするか、そのプロパティVisible="false"を設定しないでください。そうしないと、ボタンがクライアント側でレンダリングされません。
楽しみ ;)...