从 JavaScript 函数调用 C# 方法背后的代码时出错
error in calling code behind C# method from javascript function
我有以下java脚本函数
<script type="text/javascript">
function taskDone(taskID) {
alert(taskID);
var btn = document.getElementById('btn-taskDone-' + taskID);
var icon = document.getElementById('task-icon-' + taskID);
btn.style.color = '#8F9199';
btn.onclick = "";
btn.style.cursor = 'default';
icon.src = "./../Images/Icons/doneTask.png";
'<%=setDone(123)%>'
}
</script>
和下面的代码隐藏方法
public Boolean setDone(int taskID)
{
BO.taskDao myTask = new BO.taskDao();
Boolean success = myTask.setDone(1, taskID);
return success;
}
我想从javascript函数调用setDone方法并传递taskID而不是123,但我现在不知道该怎么做。我不知道为什么服务器在页面加载时自动运行这行脚本'<%=setDone(123)%>',而不调用taskDone"JavaScript"函数
几件事。
首先,您需要使用 WebMethod
属性装饰您的方法,并使其static
.试试这个:
[WebMethod]
public static Boolean setDone(int taskID)
{
BO.taskDao myTask = new BO.taskDao();
Boolean success = myTask.setDone(1, taskID);
return success;
}
现在,请确保您有ScriptManager
:
<asp:ScriptManager ID="ScriptMgr" runat="server" EnablePageMethods="true"> </asp:ScriptManager>
然后在 JavaScript 中,你可以通过以下方式调用它:
PageMethods.setDone(taskID, onSuccessMethod,onFailMethod);
同时也有成功和失败的方法(上面传递):
function onSuccessMethod(success) {
//query success
}
function onFailMethod() {
//check failure
}
所有服务器内联代码(如 <%=setDone(123)%>
)都是在页面生成期间执行的,它在 JavaScript 中的位置仅仅是因为你把它放在那里。
您可以使用内联代码以这种方式将服务器端数据传递给 JavaScript。
如果你想让 JavaScript 执行服务器端代码,你可以使用几种技术。除了 mattyTommo 描述的 WebMethods 之外,您还可以在输入框中放置一个值,然后调用服务器端按钮的按钮单击,并让服务器端代码读取输入框的内容。
相关文章:
- 我在代码点火器中出错
- 将javascript代码转换为jquery代码时出错
- 我的Javascript代码出错
- 在Tomcat中运行Javascript代码时出错
- 不允许的关键字符.通过 Codeigniter 中的 jQuery 在帧中加载嵌入代码时出错
- 运行Javascript继承代码时出错
- 将js代码转换为jQueryMobile时出错
- 将Flask中的变量显示为javascript代码时出错
- 代码在shell中运行,但提供'可以't查找变量'从文件运行时出错
- 我的代码出错
- 如何将鼠标悬停在链接上时显示demo_test.txt的内容?我哪里出错了,我的代码应该是什么样子
- 使用 qunit 测试我的代码时出错
- 使用 Lodash 合并数组,为什么结果是重复的数组值?,我的代码在哪里出错
- 语法加载具有现代化 JavaScript 代码的 html 页面时出错
- 从 JavaScript 函数调用 C# 方法背后的代码时出错
- Ajax 客户端框架运行 HTML 代码时出错
- 为什么这个依赖于HTML5地理位置的javascript代码出错
- Javascript:“;无法读取属性“”;name”;未定义的“;本地javascript代码出错
- Javascript和编程新手.我的代码出错了
- 使用javascript的代码出错