从视图调用控制器中的函数

发布于 2024-08-25 03:24:03 字数 209 浏览 4 评论 0原文

我在控制器中编写了一个简单的函数,

public string LinkProjectSquareFilter(int squareId)
    {

        return squareId.ToString();
    }

如何从视图中调用它?它说名称“LinkProjectSquareFilter”在当前上下文中不存在

i wrote a simple function in controller

public string LinkProjectSquareFilter(int squareId)
    {

        return squareId.ToString();
    }

how can i call it from view? it say The name 'LinkProjectSquareFilter' does not exist in the current context

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你另情深 2024-09-01 03:24:03

这种方法根本不应该出现在控制器中。如果只是简单的 ToString 调用,则直接在视图中执行。

如果它是更复杂的东西,请在您的 ViewModel(您传递给强类型视图的类型)中执行它或创建一个 扩展方法(例如,作为 int 类型的扩展)并直接从视图调用该方法 - 但前提是它是一个简单的视图相关转换。

如果它是涉及任何类型的业务逻辑的更复杂的转换,请在将数据传递给视图之前在控制器或服务层(由控制器使用)中执行此操作。

This kind of method should not be in controller at all. If it is only a simple ToString call, do it in the view directly.

If it is something more complex, do it in your ViewModel (the type you are passing to your strongly typed view) or create an extension method (e.g. as an extension on int type) and call that method from the view directly - but only if it is a simple view related transformation.

If it is a more complex transformation involving any kind of business logic, do that in your controller or in your service layer (used by controller) before passing the data to view.

天邊彩虹 2024-09-01 03:24:03

你可以让它静态。然后,只要包含所需的命名空间,您就可以在项目中的任何位置调用 ControllerNameController.LinkProjectSquareFilter(5); (在视图文件中,这是通过 <%@ Something 完成的)文件开头的 code> 标记我不记得那是什么东西了:-P ...

You could make it static. Then you could call ControllerNameController.LinkProjectSquareFilter(5); everywhere in the project as long as you have the required namespaces included (in a viewfile this is done with a <%@ something tag at the beginning of the file. I don't remember what that something is thought :-P ...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文