我的问题会很复杂,但我会尽量问清楚。
我想在SQL中的数据中保留标记,就像在单元格中使用逗号一样。然后,尝试在我的MVC 4项目上调用两种不同的方式。一种方式(基本的)是工作。但另一个很难运行。我将逐一给出我的代码。
控制器:
public ActionResult Portfolio()
{
return View(db.Portfolios.ToList());
}
查看:
@model IEnumerable<emirhanozkan.Models.Portfolio>
@{
foreach (var pot in Model)
{
<p>@pot.Tags.Split(',')[0]</p>
<p>@pot.Tags.Split(',')[1]</p>
<p>@pot.Tags.Split(',')[2]</p>
}
}
在同一个视图中,还有一个正在运行:
@foreach (var po in Model)
{
<li class="item @po.Tags.ToLower().Trim().Replace(",","")">
<img src="@po.Image" />
<a href="@po.Url" target="_blank" class="md-button md-primary">@po.Title</a>
</li>
}
那么,我想用Split方法做什么:
<p>AngularJS</p>
<p>MVC</p>
<p>C#</p>
<p>Wordpress</p>
<p>MVC</p>
我想我的@pot.Tags.Split(',')[0]
,@pot.Tags.Split(',')[1]
和@pot.Tags.Split(',')[2]
代码列出错误但我的大脑不再工作了。 请帮助我让他们像我的梦想一样。此外,如果您现在只需要重复一次,例如<p>MVC</p> <p>MVC</p>
,只需<p>MVC</p>
,添加到新代码。
答案 0 :(得分:1)
您可以循环使用Split()
方法返回的数组,然后渲染标记:
foreach (var pot in Model)
{
var tags = @pot.Tags.Split(',');
foreach(var tag in tags)
{
<p>@tag</p>
}
}
答案 1 :(得分:0)
抱歉错误,我写的没有编译:
List<Portfolio> Model = new List<Portfolio>();
StringBuilder finaltags= new StringBuilder();
foreach (var pot in Model)
{
finaltags.AppendLine("<p>" + @pot.Tags.Split(',') + "</p>");
}
@Html.Raw(finaltags.ToString());
答案 2 :(得分:0)
foreach (var pot in Model)
{
var tags = @pot.Tags.Split(new []{','}, StringSplitOptions.RemoveEmptyEntries);
foreach(var tag in tags)
{
<p>@tag</p>
}
}
foreach (var pot in Model)
{
<li>
<img src="@po.Image" />
<a href="@po.Url" target="_blank" class="md-button md-primary">
@po.Title</a>
</li>
}
答案 3 :(得分:0)
感谢您的建议。但我找到了我的问题的答案:
@{
foreach (var pot in Model)
{
string str = pot.Tags;
string[] strT = str.Split(',');
foreach (var poo in strT) {
<p>@poo</p>
}
}
}