0

私は以下を使用してデータにアクセスします。

        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 内に保存する方法を知りたいですか? Web フォームを使用したときは、textBox.Text = textBox.Text + "some data from database"; だけで済みました。

意見:

@model IEnumerable<Chat.Models.ChatLogs>
@Html.TextArea("chatScreen", new { @Class = "chatScreen" })

ありがとうございました。

4

2 に答える 2

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)

ビュー モデルを使用すると、単一のドメイン モデルが運ぶことができるよりも多くの情報をビューに渡したいと決心するとすぐに、作業が楽になります。

于 2013-08-05T12:56:08.460 に答える
1

.cshtmlビューでは、次を使用してデータにアクセスできます@Model

さて、あなたはリストを持っているので、私はあなたjoinにそれをお勧めし、それをTextArea好きに割り当てます.

@{var strList = string.Join(" ", Model)}
@Html.TextArea("myTextArea",strList)
于 2013-08-05T12:51:49.850 に答える