我是mvc3和剃鬚刀的新手,和C#的母親,一個小公司剛剛給了我一個合同,做一個失敗的一個龐大的項目基地......現在我需要根據用戶保存的選項創建一張圖書表...書籍目前在模型中有大約40種不同的信息,我想知道如何在模板編輯器或其他任何方式下正確設置它...MVC3剃刀編輯器模板和其他參數
現在它看起來像在視圖中:
<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.Books)的概念,它會循環把我的書單,但我如何確保它只顯示用戶想要的內容?就像我可以將某些參數傳遞給模板並使用傳遞的列表來驗證每個列?
有沒有更簡單的方法來寫下我的模板..有點像「讓我的書模型中的每個屬性,並創建一個行,如果用戶選擇了它」,因爲客戶端帶有一種新的分類方式他的書和我每次改變想法時都必須重新編碼一切......我曾經在我的前輩發生過的事經常發生。 (付款對於我的小經驗非常有用,所以即使項目開始出錯,客戶也拒絕讓我們重新從頭開始,我會盡力解決這個問題)
非常感謝您提前任何信息,幫助等......即使它是一個好的演示或博客條目的鏈接,將有所幫助。
ok我真的四處走動並手動輸入,你可以使用會話項目,並檢查用戶是否喜歡顯示列,但我仍然喜歡親的輸入,因爲它感覺很奇怪(我只是拿來自視圖的代碼並將其放置在編輯器模板中,但其基本上同樣混亂,並且如果客戶端出現大的變化就容易自殺) –