如何将字符串列表转换为多个url链接?

时间:2016-01-25 01:56:02

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

我目前正在使用Entity Framework 5和MVC 5从视图中提取url列表。我需要在此数据库视图中填充视图中的url列表。目前我有:

存储库:

public class LinkRepository
{
    private readonly LinkLibrary _entities = new LinkLibrary ();


    public LinkRepository()
    {
        _entities = new LinkLibrary ();
    }


    public List<LinkModels> RetrieveStateLink(string year)
    {
        return
            _entities.vw_URLLibrary.Where(s => s.YEAR.Equals(year) && s.URL_TYPE.Equals("United States")).Select(m => new LinkModels()
            {
                UrlLink = m.LinkLocation
            }).ToList();
    }
}

模型

public class LinkModels
{
    public string LinkYear { get; set; }
    public string LinkState { get; set; }
    public string UrlLink { get; set; }
    public string LinkType { get; set; }
    public List<string> ListOfUrls{ get; set; }
}

控制器

public ActionResult GetStateLinks()
    {
        var stateLink = new List<string>();
        var model = rr.RetrieveStateLinks("2014").Select(m=> m.UrlLink).ToList();
        foreach (var s in model)
        {
            stateLink.Add(s);
        }

        var rm = new LinkModels();
        rm.ListOfUrls = stateLink;

        return View(rm.ListOfUrls);
    }

查看

<ol>
    @foreach (var item in Model.ListOfUrls)
    {
        <li>
            @Html.ActionLink("state", "GetStateLinks", new { mystring = item })
        </li>
    }
</ol>

我不确定如何将其传递到视图中以显示它:

Alabama.aspx Georgia.aspx

1 个答案:

答案 0 :(得分:0)

你应该写一下

<ol>
    @foreach (var item in Model.ListOfUrls)
    {
        <li>
            <a href="@item">GetStateLinks</a>
        </li>
    }
</ol>

没有必要使用Html.ActionLink,因为它的目的是直接链接到MVC控制器操作,而不是URL。