我正在尝试通过以下代码通过asp.net ajax调用Web服务
namespace MCTS70515AJAX
{
public static class HR
{
public static int GetEmployeeCount(string department)
{
int count = 0;
switch (department)
{
case "Sales":
count = 10;
break;
case "Engineering":
count = 28;
break;
case "Marketing":
count = 44;
break;
case "HR":
count = 7;
break;
default:
break;
}
return count;
}
}
这是我正在渲染的aspx页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AJAX2.aspx.cs"
Inherits="MCTS70515AJAX.AJAX2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="HRSer.asmx" />
</Services>
<Scripts>
</Scripts>
</asp:ScriptManager>
<div>
<select id="Departments" size="5">
<option value="Engineering">Engineering</option>
<option value="HR">Human Resources</option>
<option value="Sales">Sales</option>
<option value="Marketing">Marketing</option>
</select>
</div>
<br />
<div>
<span id="employeeResults"></span>
<span id="loading" style="display: none;"> Loading ...
</span>
</div>
</form>
<script type="text/javascript">
var departments = null;
Sys.Application.add_load(page_load);
Sys.Application.add_unload(page_unload);
function page_load(sender, e) {
departments = $get("Departments");
$addHandler(departments, "change", departments_onchange);
}
function page_unload(sender, e) {
$removeHandler(departments, "change", departments_onchange);
}
function departments_onchange(sender, e) {
$get("employeeResults").innerHTML = ""; $get("loading").style.display = "block";
var selectedValue = departments.value;
HRService.Getcount(selectedValue, onSuccess);
}
function onSuccess(result) {
$get("loading").style.display = "none";
$get("employeeResults").innerHTML = "Employee count: " + result;
}
</script>
</body>
</html>
这是我正在呼叫的网络服务
namespace MCTS70515AJAX
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class HRService : System.Web.Services.WebService
{
[ScriptMethod]
[WebMethod]
public int Getcount(string department)
{
return HR.GetEmployeeCount(department);
}
}
页面呈现得很好,但是每当我更改列表项的值时,它就会显示JavaScript运行时错误:’HRService’未定义。为什么是这样。
抱歉这么长的帖子....
您可以尝试PageMethods
,只需添加using
和[WebMethod]
using System.Web.Services;
public static class HR
{
[WebMethod]
public static int GetEmployeeCount(string department)
{
int count = 0;
...
return count;
}
}
在aspx中,像这样修改您的scriptManager
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
然后您可以通过这种方式在JS中调用方法
function myJS_method() {
var departments = $get("Departments"); // your string value
PageMethods.GetEmployeeCount(departments , onSucess, onError);
function onSucess(result) {
// your code when it is OK
// result is the return value of your C# method
}
function onError(result) { alert('Error' + result); }
}
我一直得到这个错误: 致命错误:未捕获错误:调用未定义的函数mysqli_connect()在C:\Apache24\htdocs\asd.php: 2堆栈跟踪:#0{main}抛出在C:\Apache24\htdocs\asd.php在第2行 在任何php文件中运行任何mysqli cmd时,例如: 我已经在php中启用了扩展。ini文件,我一直在努力解决这个问题,但我就是做不到。任何帮助都将不
我知道这是一个经常被问到的问题,但是我已经尝试了我找到的所有方法,但是仍然不起作用。 我在Windows 7(64位)和PHP 5.4.3上使用WAMP 2.2。当我在localhost中调用curl_init()时,我有这个错误消息: 我所做的: 检查WAMP的php扩展中的php\u curl 多次重新启动WAMP 移除;在extension=php\u curl之前。dll在我的两个php中
问题内容: 我试图在python中定义一个基本函数,但是当我运行一个简单的测试程序时,总是会收到以下错误; 这是我用于此功能的代码; 更新:我打开了名为pyth.py的脚本,然后在给出错误时在解释器中输入pyth_test(1,2)。 谢谢您的帮助。(对于这个基本问题,我深表歉意,我以前从未编程过,并且正在尝试将Python作为一种业余爱好来学习) 问题答案: 是的,但是在哪个文件中声明了定义?它
有人能告诉我,当我尝试将旧的sql切换到SQLI时,为什么这不起作用吗: 致: 它一直给我一个错误:“致命错误:调用未定义的函数mysqli_result()”
问题内容: 当我想在浏览器上运行phpMyAdmin时,向我显示此错误: 我在PHP 5.5.7中使用fedora 17。 有解决问题的主意吗? 问题答案: 检查您的会话目录是否可被Web服务器进程写入。 最好的方法是创建自己的phpinfo文件。在任何可通过网络访问的文件夹中,创建一个包含以下内容的文件(您可以将其命名为test.php或phpinfo.php或其他名称): 在浏览器(或类似浏览
好吧,我知道我试图混合mysql和MySQLI....