私は MVC3 を初めて使用し、それを使用して SQL 2008 R2、EF4 Web サイトを構築しています。過去 36 時間で、DatePicker やメニューなどを使用することを期待して、Telerik の MVC 拡張機能をプロジェクトに追加しようとしました。私の構成とインストールは適切であると信じています。いくつかの小さなテスト (パネル バーの例) は、それを確認したようで、_layout.cshtml ファイルへの私の編集も良いようです。
私が立ち往生しているのは、Datepicker ( http://demos.telerik.com/aspnet-mvc/razor/datepicker ) の Razor コード例を既存のプロジェクトに統合しようとしていることです。アプリケーションのプロファイル ページの「生年月日」(DOB) フィールドに Datepicker を追加したいと考えています。プロファイルには、データベース内のテーブル、モデル (profile.cs)、コントローラー (ProfileController.cs)、およびビュー/プロファイル ディレクトリ内のいくつかのビュー (インデックス、編集など) があります。すべての例は、作成に焦点を当てているようです。まったく新しいプロジェクト、新しいモデル、新しいコントローラーなどです。経験が比較的浅いため、既存のプロジェクトで概説されているデモ コードの使用方法に少し固執しています。
この部分クラスを ProfileController に配置できると想定しています。
public partial class DatePickerController : Controller
{
public ActionResult FirstLook(FirstLookModelView viewModel)
{
viewModel.DatePickerAttributes.SelectedDate = viewModel.DatePickerAttributes.SelectedDate ?? DateTime.Today;
viewModel.DatePickerAttributes.MinDate = viewModel.DatePickerAttributes.MinDate ?? new DateTime(1900, 1, 1);
viewModel.DatePickerAttributes.MaxDate = viewModel.DatePickerAttributes.MaxDate ?? new DateTime(2099,
12, 31);
viewModel.DatePickerAttributes.ShowButton = viewModel.DatePickerAttributes.ShowButton ?? true;
viewModel.DatePickerAttributes.OpenOnFocus = viewModel.DatePickerAttributes.OpenOnFocus ?? false;
return View(viewModel);
}
}
そして、ビュー要素を私の @Html.EditorFor(model => model.DOB) が現在ある Edit.cshtml に入れることができます
@(Html.Telerik().DatePicker()
.Name("DatePicker")
.HtmlAttributes(new { id = "DatePicker_wrapper" })
.Min(Model.DatePickerAttributes.MinDate.Value)
.Max(Model.DatePickerAttributes.MaxDate.Value)
.ShowButton(Model.DatePickerAttributes.ShowButton.Value)
.Value(Model.DatePickerAttributes.SelectedDate.Value)
)
@using (Html.Configurator("The date picker should...")
.PostTo("FirstLook", "DatePicker")
.Begin())
{
<ul>
<li>
@Html.CheckBox("DatePickerAttributes.ShowButton", Model.DatePickerAttributes.ShowButton.Value)
<label for="DatePickerAttributes_ShowButton">show a popup button</label>
</li>
<snip>
しかし、モデルのコードのセクションをどこに置くべきかについてかなり混乱しています...
public class FirstLookModelView
{
public FirstLookModelView()
{
DatePickerAttributes = new DatePickerAttributes();
}
public DatePickerAttributes DatePickerAttributes { get; set; }
}
それは現在のモデルの Profile.cs に入りますか? 任意のガイダンスをいただければ幸いです。
PS Telerik フォーラムでも質問しています: http://www.telerik.com/community/forums/aspnet-mvc/documentation/difficulty-with-existing-project-and-adding-telerik-mvc-to- it.aspx