使用Split()方法从SQL表获取数据到MVC 4 View

时间:2017-06-30 08:12:18

标签: c# asp.net-mvc asp.net-mvc-4

我的问题会很复杂,但我会尽量问清楚。

我想在SQL中的数据中保留标记,就像在单元格中使用逗号一样。然后,尝试在我的MVC 4项目上调用两种不同的方式。一种方式(基本的)是工作。但另一个很难运行。我将逐一给出我的代码。

SQL表:enter image description here

控制器:

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> 添加到新代码。

4 个答案:

答案 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>



    }

}
}