在隐藏字段中存储列表会导致奇怪的结果
public ActionResult DoSomething()
{
return View("Index", new IndexModel { Foo = new List<string>() { "*" });
}
其中 Index.cshtml 有一个包含 @Html.HiddenFor(m => m.Foo)
的表单
public ActionResult ProcessForm(IndexModel model)
{
}
在 ProcessForm 中,您的 model.Foo 包含一个字符串,内容如下:
System.Collections.Generic.List`1[System.String]
我很困惑...
public ActionResult DoSomething()
{
return View("Index", new IndexModel { Foo = new List<string>() { "*" });
}
where Index.cshtml has a form that contains @Html.HiddenFor(m => m.Foo)
public ActionResult ProcessForm(IndexModel model)
{
}
Inside the ProcessForm your model.Foo contain a single string which reads:
System.Collections.Generic.List`1[System.String]
I am so confused...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这就是您在集合上运行
ToString()
的结果,就像HiddenFor
所做的那样。您需要做一些特殊的事情才能将列表变成字符串。这是一个快速但肮脏的 Linq 语句,它将把它转换为逗号分隔的列表:
That's the result if you run
ToString()
on your collection, likeHiddenFor
is doing. You'll need to do something special to make the list into a string.Here's a quick and dirty Linq statement that will convert it into a comma-separated list: