如何从HtmlHelper内部返回局部视图?

时间:2011-02-10 17:30:51

标签: asp.net asp.net-mvc

我有以下代码:

 public static PartialViewResult DateTime(this HtmlHelper helper)
        {


             return System.DateTime.Now.ToLongTimeString(); 
        }

现在我想从DateTime方法中返回一个Partial视图。但是辅助实例没有任何部分视图方法。

更新2:

我认为更好的问题是如何从HtmlHelper(自定义)内部返回部分视图的HTML

2 个答案:

答案 0 :(得分:2)

看起来您正在尝试创建一个返回字符串而不是实际视图的帮助程序。这很好(并且比返回部分视图的助手更有意义),只需进行这些小调整:

public static MvcHtmlString DateTime(this HtmlHelper helper)
{
   return MvcHtmlString.Create( System.DateTime.Now.ToLongTimeString() );
} 

答案 1 :(得分:1)

在我看来,这有点打破了MVC模式。您需要一个负责Controller的{​​{1}}。我会创建一个控制器,其View会返回Action

如果您不希望除了将其用作局部视图之外还能做任何其他事情,那么就有了属性。这样您就可以使用扩展程序View

你回复@Html.RenderPartial的例子可以解决,因为@Robert Levy说,但如果你真的想尝试从DateTime以外的地方返回View,我会强烈建议反对尝试。