Man*_*lue 7 c# linq asp.net asp.net-mvc view
问题是:我想运行3个不同的操作,而不是我希望在更大的模型中从单个操作提供所有数据.
我在用:
public class SearchScrapClass
{
public WClass WClass { get; set; }
public SClass SClass { get; set; }
public YClass YClass { get; set; }
}
public class WClass
{
public string title { get; set; }
public string link { get; set; }
}
public class SClass
{
public string title { get; set; }
public string link { get; set; }
}
public class YClass
{
public string title { get; set; }
public string link { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我正在使用LINQ在这些模型中添加数据.
我在用 :
var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='span']")
from link in info.SelectNodes("div//a").Where(x => x.Attributes.Contains("href"))
select new SearchScrapClass //Main Bigger Class
{
WClass.link= link.Attributes["href"].Value, //ERROR: How to add to WClass's url ?
WClass.title= link.InnerText //ERROR: How to add to WClass's url ?
}
var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
select new SearchScrapClass //Main Bigger Class
{
YClass.link= link.Attributes["href"].Value, //ERROR: How to add to YClass's url ?
YClass.title= link.InnerText //ERROR: How to add to YClass's url ?
}
//Also for the 3rd class (model)
return View(wikians); //and then return bigger class model so that i can access them in view
Run Code Online (Sandbox Code Playgroud)
这是我想要将数据添加到所有类的链接和标题的一种方式.
我的尝试是将数据添加到来自不同来源的所有3个类,并将更大的模型传递给视图,以便我可以访问所有类:
@model SearchScrapClass
@using(Html.BeginForm()) {
@Html.EditorFor(o => o.WClass.link)
...
}
Run Code Online (Sandbox Code Playgroud)
请建议一个方法
谢谢
为了扩展我的评论,我建议为组织创建一个ViewModel文件夹.在此添加视图模型
public class SearchScrapClassViewModel
{
SearchScrapClass searchScrap;
WClass wClass;
SClass sClass;
YClass yClass;
}
Run Code Online (Sandbox Code Playgroud)
在您的控制器中,然后您实例化新的viewmodel
SearchScrapClassViewModel model = new SearchScrapClassViewModel
{
....add in your logic to fill your class objects here
}
return view(model);
Run Code Online (Sandbox Code Playgroud)
然后在您的视图中添加viewmodel的使用.
@using SearchScrapClassViewModel
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13690 次 |
| 最近记录: |