如何从控制器编辑HTML元素?

时间:2017-03-15 21:52:24

标签: asp.net-mvc razor asp.net-core-mvc

我正试图这样做,当我点击一个按钮时,会调用一个方法并更新页面上的一些文字。 (该按钮运行一些方法并使用它完成的方法更新语义UI进度条)

我该怎么做? 我正在使用Razor,ASP.NET Core MVC和ASP.NET Core 5

2 个答案:

答案 0 :(得分:1)

所以可能的解决方案是:

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

答案 1 :(得分:1)

  • 基本上,与控制器中的UI元素进行交互并不是一个好主意。这样做会毁掉MVC模式背后的整个想法,其中一部分是控制器。(控制器应该对视图一无所知。)

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

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