我是 mvc3 和 razor 以及 C# 的新手,一家小公司刚刚给了我一份合同,让我根据一个失败的项目来做这个巨大的项目……现在我需要根据选择创建一个书籍表由用户保存......书籍目前在模型中有大约 40 种不同的信息,我想知道如何在模板编辑器或任何其他方式中正确设置它......
现在它在视图中看起来像这样:
<table>
<tr class="header">
@if (!((List<string>)Session["searchPreferences"]).Contains("Authors"))
{
<td>Author</td>
}
@if (!((List<string>)Session["searchPreferences"]).Contains("bookName"))
{
<td>bookName</td>
}
@if (!((List<string>)Session["searchPreferences"]).Contains("editorName"))
{
<td>editorName</td>
}
</tr>
@foreach (BookModel book in Model.bookList)
{
<tr class="element">
@if (!((List<string>)Session["searchPreferences"]).Contains("Author"))
{
<td>@book.Author</td>
}
@if (!((List<string>)Session["searchPreferences"]).Contains("editorName"))
{
<td>@book.editorName</td>
}
</tr>
+ 1 <tr> </tr> ... for each 40 attributes in books
</table>
如何制作编辑器模板并包含搜索首选项(存储在会话中或 LogUser 模型中...
其他问题:
我已经掌握了使用 @Html.EditorFor(model => model.Books) 的概念,它会循环抛出我的书单,但我怎样才能确保它只显示用户想要的东西?,比如可以我将某种参数传递给模板并使用传递的列表来验证每一列?
有没有更简单的方法来写下我的模板..有点像“在我的书模型中获取每个属性并创建一行,如果用户选择了它”,因为客户提供了一种对他的书进行分类的新方法,我每次他改变想法时,我都必须重新编码所有内容……我的前辈经常发生这种情况。(对于我的一点经验来说,报酬非常好,所以即使项目开始错误并且客户拒绝让我们从头开始,我也会尝试解决这个问题)
提前非常感谢您提供的任何信息、帮助等……即使它是指向一个很好的演示或博客条目的链接,这将有所帮助。