在查看状态下显示书籍及其作者的通用列表时出现问题。 一本书可以有一个,两个或三个作者。
如何在视图级别显示包含许多具有正确作者的书籍的列表?
// Fullmetalboy
数据库的以下表格是:
Bok(eng.Book)
Bok_Forfattare(eng.Book_Author)
Forfattare(英国作者)
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<BokButik1.ViewModels.SokningPerformSearchViewModel>"
%GT;
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent"
RUNAT = “服务器” &GT; PerformSearch
<h2>Sökresultat</h2> <table> <% foreach (var bok in Model.Boks) { %> <tr> <td><%: bok.Titel %> av <%: bok.Bok_Forfattare %></td> <td rowspan="2"><%: bok.Kategori.KategoriNamn %></td> <td rowspan="2"><div id="Div1"><input type="submit"
value =“+加入购物车”/&gt; &lt;%:bok.Sammanfattning%&gt; ..
<% } %> </table>
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult PerformSearch(string txtSearch, Kategori kategoriNummer)
{
Search test = new Search(txtSearch, kategoriNummer);
var asdf = test.HamtaBokListaFranSokFunktion();
var results = new SokningPerformSearchViewModel
{
Boks = asdf,
Bok_Forfattares = myIBok_ForfattareRepository.HamtaAllaBok_ForfattareNummer()
};
return View(results);
}
namespace BokButik1.ViewModels
{
public class SokningPerformSearchViewModel
{
public List<Bok> Boks { get; set; }
public List<Bok_Forfattare> Bok_Forfattares { get; set; }
}
}
答案 0 :(得分:0)
我会将您的ViewModel拆分为两个ViewModel:
public class SokningPerformSearchViewModel
{
public IList<BookSearchResultViewModel> Boks { get; set; }
}
public class BookSearchResultViewModel
{
public IList<Bok> Boks { get; set; }
public IList<Bok_Forfattare> Bok_Forfattares { get; set; }
}
对于搜索结果中返回的每本书,创建一个新的BookSearchResultViewModel并将该书分配给Boks。然后获取作者并将它们附加到Bok_Forfattares。接下来,将该书添加到您的SokningPerformSearchViewModel.Boks列表中。最后,将SokningPerformSearchViewModel返回到View。