我遇到了一个错误,试图做一些类似的事情
@Html.TextAreaFor(m => String.Join(",", Model.Tags), new { @class = "form-control" })我不能这么做。使字符串列表按需要输出的正确方法是什么。
更新:对不起,我很好奇为什么我不能使用强类型的html帮助程序来将字符串列表加入到文本框值中?例如,标记包含"mvc“、"css”和“代码”。我希望文本框以字符串列表的形式预先填充该列表。
发布于 2016-01-07 23:52:11
我认为您可能使用了错误的助手--您试图使用的是期望一个表达式表示模型类的一个成员,并且也不打算给它一个值(它使用属性值)。尝试另一种帮助方法,该方法接受元素名称、值和html属性:
@Html.TextArea("elementName", String.Join(", ", Model.Tags), new { @class = "form-control" })发布于 2016-01-07 23:54:56
如果将model.Tags属性设置为字符串,则为。在控制器中用逗号分隔。
if (!string.IsNullOrEmpty(model.Tags))
{
string[] _tags={};
if (model.Tags.Contains(","))
{
_tags = model.Tags.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
}
else _tags =new[]{ model.Tags};
// Use _tags to save Db.
}预览/编辑屏幕:
mymodel.Tags = string.Join(",",_data.Tags.Select(m => m.Tag));
return mymodel;https://stackoverflow.com/questions/34667217
复制相似问题