如何从数据库中的值在razor中列出<string>

时间:2017-05-16 12:59:30

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

我在数据库Skills下的数据库中有一个技能保存反手的保存数据就像这样Android App, Android, Android App Development, Android SDK这里是列的快照。 enter image description here

我想在用户端显示这个

enter image description here

这是一个.cshtml代码:

<div class="job-detail-content mt-30 clearfix">
                <div class="post-tags clr">
                    <a href="#" rel="tag" data-wpel-link="internal">CSS3</a>
                    <a href="#" rel="tag" data-wpel-link="internal">Directory</a>
                    <a href="#" rel="tag" data-wpel-link="internal">Freelancer</a>
                    <a href="#" rel="tag" data-wpel-link="internal">HTML</a>
                    <a href="#" rel="tag" data-wpel-link="internal">HTML5</a>
                    <a href="#" rel="tag" data-wpel-link="internal">Job Board</a>
                    <a href="#" rel="tag" data-wpel-link="internal">CSS3</a>
                    <a href="#" rel="tag" data-wpel-link="internal">Directory</a>
                    <a href="#" rel="tag" data-wpel-link="internal">Freelancer</a>
                    <a href="#" rel="tag" data-wpel-link="internal">HTML</a>
                    <a href="#" rel="tag" data-wpel-link="internal">HTML5</a>
                    <a href="#" rel="tag" data-wpel-link="internal">Job Board</a>
                </div>
            </div>

我在

中绑定技能数据
public string Skills { get; set; }

我希望根据第二个快照显示此Skills数据。并希望在.cshtml中使用一些代码。

2 个答案:

答案 0 :(得分:2)

您需要为此视图创建ViewModel, 在ViewModel内,它将包含一个List<string>

的属性

e.g。

<强>视图模型

public class ViewModel
{
    public List<string> Skills { get; set; }
}

<强>控制器

public Action GetSkills()
{
    var skills = "Android App, Android"; // Data from DB
    var model = new ViewModel
    {
        Skills = skills.Split(',').ToList(),
    }
    return View(model);
}

现在,当您将新的ViewModel返回到视图时,您可以执行以下操作:

<div class="job-detail-content mt-30 clearfix">
    <div class="post-tags clr">
        @foreach(var skill in Model.Skills)
        {
            <a href="#" rel="tag" data-wpel-link="internal">@skill</a>
        }
    </div>
</div>

答案 1 :(得分:-1)

你需要从db获取reords并循环创建每个元素lyk- 在控制器中;假设技能是字符串,

ViewBag.Skills=objectcontext.<Skills>().Select(p=>p.Skill).ToList();

在视图中

<div class="job-detail-content mt-30 clearfix">
            <div class="post-tags clr">
@foreach(skill k in ViewBag.Skills){
<a href="#" rel="tag" data-wpel-link="internal">@skill</a>

  @}
 </div>
</div>