繁体   English   中英

HTML服务器控件与ASP.net Web

[英]HTML server control vs ASP.net web

我试图在单击按钮(服务器控件)时调用javascript函数。当我出于上述目的使用html按钮控件(具有runat="server"属性)时,能够做到这一点,但是当我使用ASP时.net按钮控件(Web控件),它给我错误: BC30456:'myFunction'不是'ASP.webform1_aspx'的成员。

有什么区别 ?

对于案例1,我的代码使用html按钮控件,案例2是我的代码,使用ASP.net Web控件:

情况1:

<html>
     <head>
     <script >
     function myFunction()
     {
     alert("Hello World!");
     }
     </script>
     </head>

     <body>
     <button runat="server" onclick="myFunction()">Try it</button>
     </body>
     </html>

**情况2:**

<html>
     <head>
     <script >
     function myFunction()
     {
     alert("Hello World!");
     }
     </script>
     </head>

     <body>

    <asp:Button id="Button"  onclick="myFunction()" runat="server" Text="Button" />
     </body>
     </html>

当您编写runat =“ server”时,它将成为服务器控件,并且要通过服务器端控件调用JS函数,则必须使用OnClientClick而不是OnClick方法。 如果您使用Onclick方法,它将尝试在服务器上查找该功能。

希望这会有所帮助。

使用onClientClick进行ASP控件

实际上onClick在aspx.cs文件中搜索一种方法,即C#或VB函数

http://forums.asp.net/t/1249580.aspx?onclick+versus+onclientclick

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick(v=vs.110).aspx

暂无
暂无

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

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