gpt4 book ai didi

c# - ASP.Net MVC : Calling a method from a view

转载 作者:IT王子 更新时间:2023-10-29 03:48:17 25 4
gpt4 key购买 nike

在我的 MVC 应用程序中, Controller 从外部 API 获取数据(模型)(因此没有使用模型类)并将其传递给 View 。数据(模型)有一个容器,其中有多个对象和多个字段(字符串值)。一个 View 遍历每个对象并调用另一个 View 来绘制每个对象。此 View 遍历字段(字符串值)并绘制它们。

这就是我觉得棘手的地方。有时我想对字段(字符串值)做一些特殊的格式化。我可以为格式编写 20 行代码,但我必须为每个字段都这样做,那将是愚蠢的,哦,太丑了。相反,我想获取字段(字符串值),将其传递给方法并取回另一个字符串值。然后对每个字段都这样做。

所以,这是我的问题:

如何从 View 中调用方法?

我意识到我可能在这里问错了问题。答案可能是我不这样做,我应该使用本地模型并将我从外部 API 获得的对象反序列化到我的本地模型,然后在我的本地模型中,在我通过之前进行“特殊格式化”它的 View 。但我希望有一些方法可以从 View 中调用方法。主要是因为将我从 API 获得的自定义对象(它又包含许多其他自定义对象)转换为我构建的本地自定义对象似乎有很多开销。而且,我不确定这样做的最佳方式是什么。

免责声明:我知道类似的线程“ASP.NET MVC:从 View 调用 Controller 方法”(ASP.NET MVC: calling a controller method from view),但我看不出它如何回答我的问题。

最佳答案

这是在 Controller 上调用实例方法的方式:

@{
((HomeController)this.ViewContext.Controller).Method1();
}

这就是你在任何类中调用静态方法的方式

@{
SomeClass.Method();
}

假设该方法是公共(public)的并且对 View 可见,这将起作用。

关于c# - ASP.Net MVC : Calling a method from a view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15398177/

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