我已经创建了模型并在我的站点视图中Message
显示了这些消息的列表。Index
控制器将IEnumerable<Models.Message>
对象传递给视图。
为了显示所有这些消息,我使用@foreach
. 但我也想在同一个Index
视图上创建表单来创建新消息。似乎很容易,但调用@Html.TextAreaFor(Model.Body)
给我以下错误:
CS1061: 'System.Collections.Generic.IEnumerable<Models.Message>' does not contain a definition for 'Body' and no extension method 'Body' accepting a first argument of type 'System.Collections.Generic.IEnumerable<Models.Message>' could be found (are you missing a using directive or an assembly reference?)
是否可以基于创建表单Models.Message
,尽管创建的视图是基于创建的IEnumerable<Models.Message>
?
我的模型是:
public class Message
{
[BsonId]
public ObjectId Id { get; set; }
public Citizen From { get; set; }
public Citizen To { get; set; }
[Required]
[AllowHtml]
public string Body { get; set; }
[ScaffoldColumn(false)]
public DateTime Date { get; set; }
public bool IsPrivate { get; set; }
}
编辑:坦率地说,我不想创建一个附加模型,其中包含一条消息用于表单和用于显示的消息列表,主要是因为在表单动作控制器中我需要处理这个“扩展”模型。我认为清洁工会在那里有原件Message
。
但是怎么做?