【发布时间】:2015-03-18 09:13:21
【问题描述】:
在 Mvc 项目中,我无法使用实例调用视图中的方法。 我使用 AutoFac 进行依赖注入。
在 HomeController.cs 中
public readonly IMyClass _myClass;
public HomeController(IMyClass myClass)
{
_myClass = myClass;
}
在 MyClass 中,我有一个 Translate 方法,它将字符串作为参数,并根据语言代码将转换后的字符串作为输出。
我在控制器中做到了,它工作正常。
var myModel = new MyModel
{
Message = _myClass.Translate("Welcome")
};
return View("Index", myModel);
但我不想通过Model 打电话给TranslateView
我尝试从Index.cshtml 视图中调用此Translate method,如下所示:
_myClass.Translate("Welcome")
我想我错过了什么,但是什么?
【问题讨论】:
-
不能调用方法是什么意思?您如何访问控制器的字段 - stackoverflow.com/questions/1417168/…?
-
为什么要从视图中调用控制器上的方法!?你甚至试图这样做都是不好的做法。你需要做的就是不管那个方法在做什么,用模型把它返回给视图。
-
在action方法中调用它,并使用模型或视图包将结果传递给视图。
-
MVC 不像 asp 那样工作,代码隐藏在页面后面,你想做的是一种反模式
标签: c# asp.net-mvc model-view-controller