0

@Html.TextAreaFor我正在尝试使用 Razor 和 Microsoft 的 TextArea ( )的 HTML 助手从视图中的评论列表集合中提取。我可以轻松地填充单个评论,但是如何将评论的整个列表集合添加到文本区域?这是我用来显示单个评论的示例:

@Html.TextAreaFor(x => x.AuditDoc.PrivateComment, 0, 0, false)

这一切都很好,但是我如何将第二、第三和第四条评论附加到相同的文本区域?有没有办法将整个列表集合绑定到那个 html.textarea 助手?最好,我想在 Razor 中使用 html 助手来执行此操作。如果那不可能,我会很感激任何关于如何使用 Jquery 的建议。注意:注释不必绑定到模型。所以我可以使用@Html.TextArea 而不是@Html.TextAreaFor。评论数组仅用于显示。所以没有多选等并发症。

4

2 回答 2

1

好吧,您可以在控制器中进行连接并将其传递给要设置到文本区域的视图:

控制器逻辑:

  var comments = db.Comments.ToList();
        string concatComments = string.Empty;
        foreach (var item in comments)
        {
            concatComments = concatComments + item.Title;
        }
        ViewData["Concat"] = concatComments.ToString();

然后在视图中我这样做了:

@Html.TextArea("Comments", ViewData["Concat"].ToString())

显然我的代码会让它们都变得非常丑陋,但你可以这样做:

concatComments = concatComments + " " + item.Title;
于 2012-07-12T03:42:26.050 回答
0

你可以试试,

  1. Having a separate property in the view model that contains all the comments and bind that to the text area.

  2. A much cleaner solution will be go for an editor template for that collection property.

于 2012-07-12T03:44:29.823 回答