在剃刀部分
@{
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来动态地将模型转换回正确的类型。
答案 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;
}