【问题标题】:Call ASP.net function / method from div onclick从 div onclick 调用 ASP.net 函数/方法
【发布时间】:2013-07-26 09:03:22
【问题描述】:

我在 DIV 的 onclick 上有一个基本的 url 重定向。

<div onclick="location.href = 'page.aspx';">

单击此 Div 时,我需要在服务器端做一些工作,而不仅仅是重定向。

如何从 DIV onclick 调用我的代码之一? DIV 是用户控件中的父控件。我想我可以通过使用文字控件并将查询字符串写入 onclick 来“修复”它,但我会使用它作为最后的手段,因为我不想使用查询字符串。

还有其他方法可以在我可能错过的代码中捕获 DIV 点击吗?

【问题讨论】:

  • 我的猜测是 div onclick 事件上的 JQuery 函数,它链接到服务器端启用 Ajax 的 Web 服务。
  • 是 __doPostBack 你在找什么?

标签: c# asp.net .net vb.net


【解决方案1】:

您可以拥有一个显示为“无”的按钮。 在客户端处理 Div 的单击,然后从那里触发该按钮的单击并在按钮的单击事件上处理认为服务器端。

<asp:Button runat="server" id="btnHidden" style="display:none" onclick="btnHidden_OnClick" />
<div onclick="javascript:DivClicked(); return true;"></div>

<script>

function DivClicked()
{
    var btnHidden = $('#<%= btnHidden.ClientID %>');
    if(btnHidden != null)
    {
        btnHidden.click();
    }
}

</script>

【讨论】:

  • 这几乎就是我在我的问题中提出的问题。 :-)
  • 始终使用ClientID,因为该控件可以与任何其他控件(GridView、ContentPlaceHolder、List 等)一起包装
  • 谢谢,但是 var btnHidden = $('#');对我没用,所以不得不替换为 var btnHidden = document.getElementById('btnHidden');,不确定 getElementById 是否是最佳选择,希望对某人有所帮助
  • 感谢您提供有用的答案,但只是好奇,nclick="javascript:DivClicked(); return true;" 你为什么要麻烦让它返回 true?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-26
  • 1970-01-01
  • 2023-03-23
  • 2018-10-20
相关资源
最近更新 更多