如何处理TabStrip中的索引,创建,删除,详细信息和编辑视图?

时间:2013-03-13 15:16:58

标签: asp.net-mvc-4 kendo-ui

我开始使用完成ASP.NET MVC 4的Kendo UI。 我已经创建了我需要的数据库和模型,但现在我希望能够处理(索引,创建,删除,详细信息和编辑)每个选项卡内容中的实体。但我不知道如何在de tabstrip中做到这一点。 (我从已经有HomeController的Internet应用程序模板开始)

我的代码到现在为止:

/查看/主页/索引

@{
    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>

到目前为止,我能够显示索引视图(作为partialview),但是当我单击“新建”时,创建视图不会在标签条中显示?我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

由于您的tabstrip加载了Ajax,这意味着用于编辑,创建,删除的其他每个视图也应该加载Ajax。

您可以查看MVC Ajax links helpers。在tabstrip中创建一些结果元素,应该使用Ajax加载的内容进行更新。