繁体   English   中英

使用<li> onclick调用C#代码隐藏方法

[英]Call C# code-behind method with a <li> onclick

我有一个列表,一个带有onclick:

<ul class="tabs"> 
    <li><a href="#tab1">Foobar_1</a></li> 
    <li onclick="doMethod"><a href="#tab2">Foobar_2</a></li> 
    <li><a href="#tab3">Foobar_3</a></li> 
    <li><a href="#tab4">Foobar_4</a></li>
</ul>

现在,我想在单击选项卡(li)时调用的方法更新UpdatePanel,因此会显示gridview。

我知道它必须与AJAX有关,但我不知道如何继续前进......

所以基本上:如何使用AJAX调用ac#方法?

<li runat="server" OnClick="DoMyOnClickCall">....</li>

然后

public void DoMyOnClickCall(object sender, EventArgs e)
{
   // sender is the li dom element you'll need to cast it though.
}

要扩展:( 更新)

sender是一个表示HTML中<li>...</li>的对象。 它被称为HtmlControl之类的东西。

您需要将sender转换为该类型。

var myLI = (HtmlControl)sender;
// do stuff with `myLI`

此外,您可以通过以下方式从客户端调用该方法:

  1. 将您的方法声明为public static bool
  2. 为此方法添加属性[WebMethod]
  3. 从js调用方法

示例代码:

<script language="javascript">
    function MyClientFunction() {
        var liElement = $get("liElement").value;
        PageMethods.doMethod(liElement,OnSuccess, OnFailure);
    }

    function OnSuccess(result) {
        if(result) {
            alert("Some error message!");
        }
    }

    function OnFailure(error) {

    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM