MVC3如何从视图访问此代码

本文关键字:访问 代码 视图 MVC3 | 更新日期: 2023-09-27 18:26:43

在剃刀部分

@{
 Like This
}

我需要能够调用c#函数

static T Cast<T>(object o)
{
 return (T)o;
}

为了动态地强制转换对象。如何访问此代码?

我希望能够做这个

someObject = Cast<someType>(someObject);

编辑

我正在尝试实现一个通用视图模型。

这是型号:

public class GenericVM<TEntity> where TEntity : class
{
    public List<TEntity> Entities { get; set; }
    public object Entity { get; set; }
    public Type Type { get; set; }
}

我在控制器中填充GenericVM对象,然后将其传递给具有@model dynamic的视图。

进入视图后,我尝试使用对象中的Type将模型动态转换回正确的类型。

MVC3如何从视图访问此代码

你能把它放到一个Html扩展中吗?

public static T Cast<T>(this HtmlHelper helper, object o)
{
    return (T)o;
}

然后只是:

Html.Cast<string>(someString)

在你看来。我在这里使用一个字符串作为用法示例,只需根据您自己的模型类型进行更改即可。

可以简单地进行强制转换,还是我遗漏了什么?

@{
    var someObject2 = (someType)someObject;
}

@{
    var someObject2 = someObject as someType;
}