2013-08-24 35 views
0

我试图用ASP.NET AJAX调用Web服务。但我遇到了以下错误。 编译器错误消息:CS1061:'ASP.index_aspx'不包含'onClick'的定义,并且没有找到'onClick'接受类型'ASP.index_aspx'的第一个参数的扩展方法(缺少using指令或一个装配参考?)按钮无法激活javascript中的onclick功能

任何人都知道如何解决这个问题?

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
    <Services><asp:ServiceReference Path="~/CountryCodeFinder.asmx" /></Services> 
    </asp:ScriptManager> 

    <script language="javascript" type="text/javascript"> 
     function onClick() { 
      Task3.CountryCodeFinder.CodeFinder(form1.tbxInput.value, onSuccess, onFailed); 
     } 
     var onSuccess = function (result) { 
      $get("lblResult").innerHTML = result; 
     } 
     var onFailed = function (result) { 
      $get("lblResult").innerHTML = " Not Found! "; 
     } 

    </script> 

    <div> 

     <asp:TextBox ID="tbxInput" runat="server"></asp:TextBox> 
&nbsp;&nbsp; 
     <asp:Button ID="btnSubmit" runat="server" Text="Find Country Code" onclick="onClick()" /> 
     <br /> 

回答

4

一个ASP.NET按钮的onclick会在后面的代码的方法(即在服务器上运行),你的情况命名的“onClick”,它也找不到,这是为什么你会得到那个编译错误。

你可能想使用的OnClientClick运行JavaScript(MSDN:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick.aspx

如果你不打算用在服务器端的按钮做任何事情,你可能想用一个简单的HTML来代替它输入标签:

<input type='button' onclick='onClick()' value='Find country code'></input> 
+0

Thx,伙计〜我用html输入标签,它工作! – user1805430