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

时间:2010-03-15 07:30:17

标签: .net asp.net-mvc controller

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

public string LinkProjectSquareFilter(int squareId)
    {

        return squareId.ToString();
    }

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

2 个答案:

答案 0 :(得分:2)

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

如果它更复杂,可以在ViewModel(您传递给强类型视图的类型)中创建它,或者创建extension method(例如,作为int类型的扩展名)并调用直接来自视图的那个方法 - 但只有它是一个简单的视图相关转换。

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

答案 1 :(得分:0)

你可以让它静止。然后你可以在项目的每个地方调用ControllerNameController.LinkProjectSquareFilter(5);,只要你包含所需的命名空间(在视图文件中,这是在文件开头用<%@ something标记完成的。我不记得是什么有人认为:-P ......