gpt4 book ai didi

javascript - 从 javascript 函数调用 C# 方法后面的代码时出错

转载 作者:行者123 更新时间:2023-11-28 20:16:22 26 4
gpt4 key购买 nike

我有以下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 属性装饰您的方法,并使其成为静态。试试这个:

[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
}

关于javascript - 从 javascript 函数调用 C# 方法后面的代码时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com