html 调用后台方法

时间:2021-09-07 01:14:12
<a title="开始" href="#" target="content3" onclick="abled();" runat="server" onserverclick="StartRecord"><span>开始</span></a>

像这样如果有target的话onserverclick就失效了,如果去掉target页面会重新刷新,使用JavaScript方法onclick="javascript:<%StartRecord%>"会在页面加载的时候就执行后台的StartRecord方法了!

请教高手要如何处理?

9 个解决方案

#1


LZ用javascript:<%StartRecord%>来调用后台代码明显是不行的,“<%%>”这个表达式会直接执行,你可以通过javascript直接写方法的路径或者使用AJAx来调用后台的代码

#2


  用js   function onclick()
          {
              document.getElementById("<% =btnEdit.ClientID %>").click();
          }
  这样前台按钮调用后台方法。

#3



<script type="text/javascript" language="javascript">
    function Go()
    {
        //页面内的一个按钮控件
        document.getElementById("Button1").click();
    }
    </script>
    

<a title="开始" href="Go()" target="content3">

#4


这种情况<a runat="server" onclick="" onserverclick="">是先执行客户端JS的ONCLICK函数,再执行服务器端的ONSERVERCLICK函数,最好只包含ONCLICK或只包含ONSERVERCLICK

<asp:hyperlink onclick="doing()" onserverclick="doing">
ONCLICK的DOING函数返回TRUE,执行完后在执行ONSERVERCLICK
ONCLICK的DOING函数返回FALSE,执行完后不执行ONSERVERCLICK
最好去掉target!!!

#5


引用 2 楼 cyljay 的回复:
用js function onclick()
  {
  document.getElementById("<% =btnEdit.ClientID %>").click();
  }
  这样前台按钮调用后台方法。


这样<a>多了的话,不是要加很多隐藏的btn?

#6


引用 4 楼 flyingyinjun 的回复:
这种情况<a runat="server" onclick="" onserverclick="">是先执行客户端JS的ONCLICK函数,再执行服务器端的ONSERVERCLICK函数,最好只包含ONCLICK或只包含ONSERVERCLICK

<asp:hyperlink onclick="doing()" onserverclick="doing">
ONCLICK的DOING函数……


关键就是去掉target,点击的时候整个页面都会刷新,一些信息就被刷新掉了

#7


引用 1 楼 zjx198934 的回复:
LZ用javascript:<%StartRecord%>来调用后台代码明显是不行的,“<%%>”这个表达式会直接执行,你可以通过javascript直接写方法的路径或者使用AJAx来调用后台的代码


javascript直接写方法的路径?怎么写?

#8


请问楼主怎么解决的啊?我也是这样的问题?

#9


引用 8 楼 pian734944551 的回复:
请问楼主怎么解决的啊?我也是这样的问题?

不好意思,太久了,貌似没解决,改用别的方案了

#1


LZ用javascript:<%StartRecord%>来调用后台代码明显是不行的,“<%%>”这个表达式会直接执行,你可以通过javascript直接写方法的路径或者使用AJAx来调用后台的代码

#2


  用js   function onclick()
          {
              document.getElementById("<% =btnEdit.ClientID %>").click();
          }
  这样前台按钮调用后台方法。

#3



<script type="text/javascript" language="javascript">
    function Go()
    {
        //页面内的一个按钮控件
        document.getElementById("Button1").click();
    }
    </script>
    

<a title="开始" href="Go()" target="content3">

#4


这种情况<a runat="server" onclick="" onserverclick="">是先执行客户端JS的ONCLICK函数,再执行服务器端的ONSERVERCLICK函数,最好只包含ONCLICK或只包含ONSERVERCLICK

<asp:hyperlink onclick="doing()" onserverclick="doing">
ONCLICK的DOING函数返回TRUE,执行完后在执行ONSERVERCLICK
ONCLICK的DOING函数返回FALSE,执行完后不执行ONSERVERCLICK
最好去掉target!!!

#5


引用 2 楼 cyljay 的回复:
用js function onclick()
  {
  document.getElementById("<% =btnEdit.ClientID %>").click();
  }
  这样前台按钮调用后台方法。


这样<a>多了的话,不是要加很多隐藏的btn?

#6


引用 4 楼 flyingyinjun 的回复:
这种情况<a runat="server" onclick="" onserverclick="">是先执行客户端JS的ONCLICK函数,再执行服务器端的ONSERVERCLICK函数,最好只包含ONCLICK或只包含ONSERVERCLICK

<asp:hyperlink onclick="doing()" onserverclick="doing">
ONCLICK的DOING函数……


关键就是去掉target,点击的时候整个页面都会刷新,一些信息就被刷新掉了

#7


引用 1 楼 zjx198934 的回复:
LZ用javascript:<%StartRecord%>来调用后台代码明显是不行的,“<%%>”这个表达式会直接执行,你可以通过javascript直接写方法的路径或者使用AJAx来调用后台的代码


javascript直接写方法的路径?怎么写?

#8


请问楼主怎么解决的啊?我也是这样的问题?

#9


引用 8 楼 pian734944551 的回复:
请问楼主怎么解决的啊?我也是这样的问题?

不好意思,太久了,貌似没解决,改用别的方案了