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

C# 如何将字符串列表转换为多个url链接?,c#,asp.net,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,我目前正在使用EntityFramework5和MVC5从视图中提取url列表。我需要在此数据库视图中填充视图中的url列表。目前我有: 存储库: public class LinkRepository { private readonly LinkLibrary _entities = new LinkLibrary (); public LinkRepository() { _entities = new LinkLibrary (); }

我目前正在使用EntityFramework5和MVC5从视图中提取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();
    }
}
公共类链接库
{
私有只读链接库_entities=新链接库();
公共链接库()
{
_实体=新链接库();
}
公共列表检索链接(字符串年)
{
返回
_entities.vw_urlibrary.Where(s=>s.YEAR.Equals(YEAR)&&s.URL_TYPE.Equals(“美国”)。选择(m=>newlinkmodels()
{
urlink=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; }
}
公共类链接模型
{
公共字符串LinkYear{get;set;}
公共字符串链接状态{get;set;}
公共字符串URL链接{get;set;}
公共字符串链接类型{get;set;}
公共列表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);
    }
public ActionResult GetStateLinks()
{
var stateLink=新列表();
var model=rr.RetrieveStateLinks(“2014”).Select(m=>m.urlink.ToList();
foreach(模型中的var s)
{
stateLink.Add(s);
}
var rm=新的链接模型();
rm.ListOfUrls=stateLink;
返回视图(rm.ListoForls);
}
查看

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

@foreach(Model.ListOfUrls中的var项)
{
  • @ActionLink(“state”,“GetStateLinks”,new{mystring=item})
  • }
    我不确定如何将其传递到视图中显示的位置:

    阿拉巴马州
    Georgia.aspx

    您只需编写

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

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

    我刚刚尝试了这个方法,现在我遇到了一个错误:传入字典的模型项的类型是“System.Collections.Generic.List`1[System.String]”,但是这本词典需要一个“LinkLibraryProject.Models.LinkModels”类型的模型项。@masta_coda哦,我错过了。您需要将
    返回视图(rm.ListOfUrls)
    更改为简单的
    返回视图(rm)
    @masta\u coda无需担心,伙计:)是否有办法提取显示名称?例如,它可以在我的模型中提取“LinkState”而不是GetStateLinks?@masta_coda当然,您只需编写
    @model.LinkState
    ——但是该状态适用于整个模型,而不是每个URL