我将表单中的一串值传递给MVC5 Controller,并使用C#将项目保存在数据库的一个字段中。
使用控制器中的actionresult访问string[]CarNotes
并按如下方式操作:
string selection = "";
if (CarNotes != null && CarNotes.Length > 0)
{
foreach (string s in CarNotes)
{
selection += s + ", ";
}
}
然后,我将选择的内容保存在指定的数据库字段中。这很好用。唯一的问题是它增加了一个额外的''在列表的末尾。如何防止这种额外的',#39;。感谢
答案 0 :(得分:3)
您也可以尝试使用string.join ...
var selection = String.Join(", ", CarNodes);
此处有更多信息... https://msdn.microsoft.com/en-us/library/57a79xd0(v=vs.110).aspx
答案 1 :(得分:1)
在串联字符串时始终使用StringBuilder:
StringBuilder selection = new StringBuilder();
if (CarNotes != null && CarNotes.Length > 0)
{
foreach (string s in CarNotes)
{
selection.Append(s);
selection.Append(", ");
}
}
//Trim the ending space, then trim the ending comma
return selection.ToString().TrimEnd().TrimEnd(',');
或者您可以使用Substring
:
if (selection.EndsWith(", "))
{
selection = selection.Substring(0, selection.Length - 2);
}
或Remove
:
if (selection.EndsWith(", "))
{
selection = selection.Remove(selection.Length - 2);
}
答案 2 :(得分:0)
除了String.Join,你还可以使用聚合(linq,在函数式编程中减少)
docker run -d -p 3000:3000 \
-v /opt/pf-grafana:/opt/pf-grafana \
grafana/grafana \
--config=/opt/pf-grafana/grafana.ini