MVC3如何从视图中访问此代码?

时间:2012-03-04 19:38:48

标签: c# asp.net-mvc-3

在剃刀部分

@{
 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来动态地将模型转换回正确的类型。

2 个答案:

答案 0 :(得分:2)

你能把它放到Html扩展名吗?

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

然后只是:

Html.Cast<string>(someString)

从您的角度来看。我在这里使用一个字符串作为用法示例,只需更改您自己的模型类型。

答案 1 :(得分:1)

可以简单地投下它还是我错过了什么?

@{
    var someObject2 = (someType)someObject;
}

@{
    var someObject2 = someObject as someType;
}