我使用以下方式访问数据:
public ActionResult Index()
{
//IEnumerable<ChatLogs> c = from p in db.ChatLogs select p;
//return View(c);
using (var db = new ChatLogContext())
{
var list = db.ChatLogs.ToList();
return View(list);
}
}
我想知道如何在View中的TextArea中保存这个数据集合?当我们使用webforms时,我们可以只使用textBox.Text = textBox.Text +“来自数据库的一些数据”;
查看:
@model IEnumerable<Chat.Models.ChatLogs>
@Html.TextArea("chatScreen", new { @Class = "chatScreen" })
谢谢。
答案 0 :(得分:2)
我建议你创建一个视图模型。例如:
class ChatLogsViewModel
{
public string LogListString { get; set; }
}
将其传递给视图,而不是传递原始列表:
var list = db.ChatLogs.ToList();
var vm = new ChatLogsViewModel { LogListString = /* convert list to single string here */ };
return View(vm);
在视图中,只需执行以下操作:
@model Your.Namespace.ChatLogsViewModel
@Html.TextAreaFor(model => model.LogListString)
一旦您决定将更多信息传递给视图,而不是单个域模型可以传递的信息,使用视图模型将使您的生活更轻松。
答案 1 :(得分:1)
在.cshtml
视图中,您可以使用@Model
现在,由于您有一个列表,我建议您join
,然后将其分配给TextArea
,如
@{var strList = string.Join(" ", Model)}
@Html.TextArea("myTextArea",strList)