Asp.net mvc 如何从控制器编辑HTML元素?

Asp.net mvc 如何从控制器编辑HTML元素?,asp.net-mvc,razor,asp.net-core-mvc,Asp.net Mvc,Razor,Asp.net Core Mvc,我试着这样做,当我点击一个按钮时,一个方法被调用,页面上的一些文本被更新。该按钮运行一些方法,并更新语义UI进度条,其中包含已完成的方法数 我该怎么做 我正在使用Razor、ASP.NET Core MVC和ASP.NET Core 5。因此,一个可能的解决方案是: 单击JS中的listener,它将向控制器发送AJAX请求。控制器函数应该返回非关系数据,最好是JSON。返回的数据应该在AJAX成功函数中捕获,并在该成功函数中定义HTML更改 基本上,在控制器中与UI元素交互不是一个好主意。这样

我试着这样做,当我点击一个按钮时,一个方法被调用,页面上的一些文本被更新。该按钮运行一些方法,并更新语义UI进度条,其中包含已完成的方法数

我该怎么做


我正在使用Razor、ASP.NET Core MVC和ASP.NET Core 5。

因此,一个可能的解决方案是:

单击JS中的listener,它将向控制器发送AJAX请求。控制器函数应该返回非关系数据,最好是JSON。返回的数据应该在AJAX成功函数中捕获,并在该成功函数中定义HTML更改

基本上,在控制器中与UI元素交互不是一个好主意。这样做会破坏MVC模式背后的整个想法,MVC模式的一部分是控制器。控制器应该对视图一无所知

此外,控制器中方法的每次执行都表示对服务器执行同步请求,从而刷新浏览器中的页面。想象一下,每当进度条需要更新时,页面都会刷新。我猜你不想有这种行为。为了以我认为您想要的方式更新状态栏,您需要在视图中对这些方法进行异步调用

如果您必须根据方法的执行状态更改UI,我建议使用AJAX在控制器中对您的方法进行异步调用,并且当来自完成的方法的响应出现时,您将更新进度条。 希望你现在有一个更好的概述。干杯


查看ajax调用,请提供您已经尝试过的内容