检查li点击值

时间:2012-11-24 05:49:20

标签: c# asp.net c#-4.0 listitem

我使用两个带链接的列表项。现在我想检查从客户端点击了哪个链接。这是我的代码:

  <ul id="navtabs">
            <li id="basic" runat="server" class="cat-item cat-item-6 current-cat"><a href="#">new</a></li>
            <li id="new" runat="server" class="cat-item cat-item-8"><a href="#">old</a></li>
        </ul>

我想检查点击哪个项目是基本的还是新的

if(this.basic.clicked ==true)
{
   do something
}
else
{
  do something
}

我该怎么做?

2 个答案:

答案 0 :(得分:0)

如果您正在起诉Web表单,

  1. 起诉的控制必须是服务器控制
  2. 如果是链接,则输入runat =“server”和控件的id
  3. 在每个链接的点击事件上创建。
  4. 但这些联系的目的不明确。
    您想要对点击采取什么行动必须明确。

答案 1 :(得分:0)

我有一个技巧。你可以在jQuery的帮助下做到这一点,一个隐藏的领域&amp;一个隐藏的asp按钮。

    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Hidden Button" />
    <asp:HiddenField ID="hdnLIClicked" runat="server" />

现在jQuery部分,在准备好的事件中

    $().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.
        });
    });

你会在隐藏的地方点击“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”,否则按钮将不会在客户端呈现。

享受;)......