【问题标题】:How can I call a JS function from razor onComplete?如何从 razor onComplete 调用 JS 函数?
【发布时间】:2020-10-06 13:03:50
【问题描述】:

好的,所以我的问题有点难。我有一个 cshtml 页面,其中包含一些在 onCompleted 上执行的代码,然后从模型中获取数据。我希望将结果插入到表中:

Response.OnCompleted(async () => {
   string table = await Model.getTable();

    //Set table as innerHtml from my table
});

那么我该如何调用一个 js 函数然后设置 innerHtml 或者我可以直接通过 C# 设置 innerHtml 吗?

我必须这样运行它,因为我希望它在页面加载后填充数据。这甚至可能是我想要的样子吗?

【问题讨论】:

    标签: javascript c# razor


    【解决方案1】:

    在此处查看函数文档:https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.httpresponse.oncompleted?view=aspnetcore-3.1

    在响应发送到客户端完成后添加要调用的委托。

    这实际上意味着客户端 (javascript) 不知道那里发生了什么。

    代码在客户端(javascript 所在的位置)收到响应后在服务器端运行,因此无法从 OnCompleted 委托运行任何 javascript。

    编辑 1

    查看Do some work after the response in ASP.NET Core 以了解OnCompleted 的使用方式(一个用例)。

    【讨论】:

    • 谢谢,但这对我来说似乎很复杂。你知道我能做什么,而不是我是 C# 和 Razor 的新手。或者是否有另一种方式来加载网站,然后通过 c# 向其中添加数据?
    • 从客户端对控制器操作进行 ajax 调用:codeproject.com/Articles/41828/JQuery-AJAX-with-ASP-NET-MVC 非常好的指南。
    • 好的,但问题是我不能在我的项目中使用控制器,我也没有 Global.asax 文件。我想我有一个不同类型的项目(Razor)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 2023-03-06
    • 2019-04-04
    • 2020-01-28
    相关资源
    最近更新 更多