代码之家  ›  专栏  ›  技术社区  ›  Nicholas Murray

将视图模型传递给帮助器类

  •  0
  • Nicholas Murray  · 技术社区  · 16 年前

    我想在我的测试应用程序中显示一个标记云,使用一个助手类来创建html。

    我可以在局部视图中使用for-each循环来访问模型中的每个项目

    Inherits="System.Web.Mvc.ViewUserControl < IEnumerable < MyTestproject.Models.TagCount > >
    
    foreach (var item in Model) {
    
    }
    

    但是,当我尝试将模型传递给Helper类并对每个循环使用一个for时,我会收到以下错误:

    public static string DisplayCloud < TagCount >(TagCount objTags) {
    
    ..
           foreach (var item in objTags) {
    
           }
    }
    

    2 回复  |  直到 16 年前
        1
  •  1
  •   Community Mohan Dere    5 年前

    更仔细地观察视图的类签名和助手方法签名之间的差异:

    Inherits=“System.Web.Mvc.ViewUserControl< 数不清

    公共静态字符串DisplayCloud<标记计数>(标记计数对象)

    该方法需要接收一个 IEnumerable<TagCount>

        2
  •  1
  •   Craig Stuntz    16 年前

    因为你要通过一个不同的类型。

    景色越来越美了 IEnumerable<TagCount>

    TagCount

    您的助手代码需要是:

    public static string DisplayCloud(IEnumerable<TagCount> objTags) {
    
    ..
           foreach (var item in objTags) {
    
           }
    }