-1

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

  <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
}

我怎样才能做到这一点?

4

2 回答 2

0

如果您要起诉 Web 表单,那么,

  1. 被起诉的控制必须是服务器控制
  2. 如果它是一个链接 put runat="server" 和控件的 id
  3. 创建每个链接的点击事件。

但是这些链接的目的是什么尚不清楚。
您想对点击采取什么行动必须明确。

于 2012-11-24T06:02:29.310 回答
0

我有一个窍门。您可以借助 jQuery、一个隐藏字段和一个隐藏的 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",否则按钮不会在客户端呈现。

享受 ;)...

于 2012-11-24T06:42:23.153 回答