如何获得在MVC3中返回 View 的Action名称的正确方法是什么?

我正在使用ViewContext.Controller.ValueProvider.GetValue("action").RawValue返回操作(方法)的名称,该名称正在MVC3中创建 View 。我以部分 View 返回此 View ,该 View 包含在Action返回的 View 中。

对于Index,它可以正常工作,但是,当我尝试将其用于另一个方法名称时,它总是评估为false。

在即时窗口中,我得到以下结果:

ViewContext.Controller.ValueProvider.GetValue("action").RawValue
"Edit"

ViewContext.Controller.ValueProvider.GetValue("action").RawValue == "Edit"
false

哪一个高度令人困惑,因为第一条语句的计算结果为值“Edit”的字符串,而将其与字符串“Edit”进行比较则返回false?

怪异的...

最佳答案

RawValueobject,因此RawValue == "..."调用Object.op_Equality,它通过引用而不是值进行比较。

调用ViewContext.RouteData.GetRequiredString("action")

关于c# - 在 View 中获取 Controller 的 Action 名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7543327/

10-16 19:01