0

ASP.NET MVC 4 用の完全な Kendo UI の使用を開始しています。必要なデータベースとモデルは既に作成していますが、次は (インデックス、作成、削除、詳細、編集) を処理できるようにしたいと考えています。各タブのコンテンツ内のエンティティ。しかし、タブストリップ内でこれを行う方法がわかりません。(私は既に HomeController を持っている Internet Application テンプレートから始めました)

今までの私のコードは次のとおりです。

/ビュー/ホーム/インデックス

@{
    ViewBag.Title = "Home Page";
}

@(Html.Kendo().TabStrip()
                .Name("tabstrip")
                .Items(items =>
                {
                    items.Add().Text("Students").Selected(true).LoadContentFrom("Index","Student"); //Add item with text "Students"
                    items.Add().Text("Teachers"); 
                    items.Add().Text("Schools"); 
                })
)

/コントローラー/StudentController

 public class StudentController : Controller
    {
        private MiniSIGEdb db = new MiniSIGEdb();

        //
        // GET: /Student/

        public ActionResult Index()
        {
            var students = db.Students.Include(s => s.Person).Include(s => s.School);
            return PartialView(students.ToList());
        }

        //
        // GET: /Student/Create

        public ActionResult Create()
        {
            ViewBag.Person_id = new SelectList(db.People, "id", "FirstName");
            ViewBag.School_id = new SelectList(db.Schools, "id", "City");
            return PartialView();
        }

        protected override void Dispose(bool disposing)
        {
            db.Dispose();
            base.Dispose(disposing);
        }
    }

/ビュー/学生/インデックス

@model IEnumerable<MiniSIGEweb.Models.Student>
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Course)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Person.FirstName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.School.City)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Course)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Person.FirstName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.School.City)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.id }) |
            @Html.ActionLink("Details", "Details", new { id=item.id }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.id })
        </td>
    </tr>
}

</table>

今までは、de Index ビューを (partialview として) 表示できましたが、[Create New] をクリックすると、Create ビューがタブストリップ内にレンダリングされませんか? これどうやってするの?

4

1 に答える 1

1

タブストリップは Ajax でロードされるため、編集、作成、削除用の他の各ビューも Ajax でロードする必要があります。

MVC Ajax リンク ヘルパーを参照してください。タブストリップ内に結果要素を作成します。これは、Ajax で読み込まれたコンテンツで更新する必要があります。

于 2013-03-13T20:15:26.440 に答える