C# 如何将字符串列表转换为多个url链接?
我目前正在使用EntityFramework5和MVC5从视图中提取url列表。我需要在此数据库视图中填充视图中的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 (); }
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