C# ASP.NETMVC-从视图中获取对象模板字符串结果
我重新开始我的问题,因为它被设置为重复,而不是-或者标记为重复的人应该向我解释为什么它是重复的。。。。。。。。。。 如何在C#类中获得方法Html.DisplayFor()的结果,比如在视图模型中,甚至在控制器中?而不是在Aspx或Razor视图中 [编辑] 事实上,我有一个表要显示,根据记录的数量,我使用Telerik表或简单的HTLM表 目前,我的视图中有一个函数,用于获取要为每一列显示的字符串,因此我对这两个表使用相同的格式C# ASP.NETMVC-从视图中获取对象模板字符串结果,c#,asp.net-mvc,C#,Asp.net Mvc,我重新开始我的问题,因为它被设置为重复,而不是-或者标记为重复的人应该向我解释为什么它是重复的。。。。。。。。。。 如何在C#类中获得方法Html.DisplayFor()的结果,比如在视图模型中,甚至在控制器中?而不是在Aspx或Razor视图中 [编辑] 事实上,我有一个表要显示,根据记录的数量,我使用Telerik表或简单的HTLM表 目前,我的视图中有一个函数,用于获取要为每一列显示的字符串,因此我对这两个表使用相同的格式 <%@ Control Language="C#" In
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ViewModels.OrderViewModel>" %>
<script runat="server" type="text/C#">
public string GetCellValue (String columnName, Order order)
{
string value = "";
switch (columnName)
{
case "Ref":
value = order.order.Reference.ToString(); break;
case "Etc":
value = Html.DisplayFor(p => order.order.Etc).ToHtmlString();break;
case "Payment date":
foreach (Executions ex in order.executions)
{
value += ex.Date.Date.ToString("yyyy-MM-dd") + " ";
}
break;
公共字符串GetCellValue(字符串列名称、顺序)
{
字符串值=”;
开关(列名称)
{
案例“参考”:
value=order.order.Reference.ToString();break;
案例“等”:
value=Html.DisplayFor(p=>order.order.Etc).ToHtmlString();break;
案例“付款日期”:
foreach(按顺序执行。执行)
{
值+=ex.Date.Date.ToString(“yyyy-MM-dd”)+“”;
}
打破
例如,我想在ViewModel中将此函数移出视图,但我不知道如何从视图中调用函数Html.DisplayFor()。不明白为什么要这样做,但是
using System.Web.Mvc;
using System.Web.Mvc.Html;
class Example {
void Method()
{
HtmlHelper<TModel> Html = new HtmlHelper<TModel>();
MvcHtmlString result = Html.DisplayFor(prop => Model.Prop);
}
}
因为,它应该只将其值显示为字符串(除非您已经为它设置了模板)。这个问题很清楚,您的上一个问题不是。您可以在这里发布代码吗?使用ASP.NET MVC 3它似乎不起作用,DisplayFor方法不可用。我现在无法检查它,因为我没有在工作中安装MVC 3(并且没有安装权限),但我将用其他方式编辑我的答案。不幸的是,Etc是一个实体对象,MvcHtmlString的构造函数要求一个字符串,因此它无法工作。
MvcHtmlString result = new MvcHtmlString(order.order.Etc);