私は 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) を使用する概念を把握しましたが、本のリストがループしてスローされますが、ユーザーが望むものだけが表示されるようにするにはどうすればよいですか?テンプレートにある種のパラメーターを渡し、渡されたリストを使用して各列を検証しますか?
私のテンプレートを書き留めるより簡単な方法はありますか..「本のモデルで各プロパティを取得し、ユーザーが選択した場合に行を作成する」のようなものです。 「彼がアイデアを変えるたびに、すべてを再コーディングする必要があります...私が先輩に言われたことは、非常に頻繁に起こります. (経験が少ない割に給料はとても良いので、たとえプロジェクトが間違って開始され、クライアントが最初からやり直すことを拒否したとしても、私はこれに取り組もうとします。)
情報、ヘルプなどを事前に感謝します...たとえそれが役立つ良いデモやブログエントリへのリンクであっても.