尝试从telerik网格在MVC3中创建动态部分页面

时间:2011-11-01 18:13:48

标签: asp.net-mvc-3 dynamic views partial

我有一个MVC3网络应用程序,我当前的视图使用的是模型类型

IList<Application.Models.dbTable>

我使用IList&lt;&gt;的原因是这样页面上的telerik网格可以理解输出。 我的目标是在右侧有一个部分页面,它使用application.model.dbTable模型,它是动态的,因此当您在telerik网格上选择一个项目时,它会根据所选项目的索引更改部分页面的内容在telerik网格上。 目前我得到一个错误,说部分视图需要application.model.dbTable类型的模型。它似乎是从部分嵌套的视图继承模型。另外,如何将默认值传递给此部分视图,因为它需要索引值来显示数据? 任何帮助都会很棒,当我进行研究时,我找不到任何特定于这种情况的东西。 代码如下:

Index.cshtml:

 @model IList<application.Models.dbTable>

 @{
    ViewBag.Title = "Index";
  }

        @(Html.Telerik().Grid(Model)
            .Name("emailList")
            .Pageable()
            .Sortable()
        )

        @Html.Partial("DetailedLinkInfo");

DetailedLinkInfo.cshtml:      @model application.Models.dbTable

 <fieldset>
     <legend>email</legend>

     <div class="display-label">sender</div>
     <div class="display-field">
         @Html.DisplayFor(model => model.sender)
     </div>

     <div class="display-label">subject</div>
     <div class="display-field">
         @Html.DisplayFor(model => model.subject)
     </div>

     <div class="display-label">priority</div>
     <div class="display-field">
         @Html.DisplayFor(model => model.priority)
     </div>
 </fieldset>
 <p>
     @Html.ActionLink("Edit", "Edit", new { id=Model.ID }) |
     @Html.ActionLink("Back to List", "Index")
 </p>

控制器:     使用系统;     使用System.Collections.Generic;     使用System.Linq;     使用System.Web;     使用System.Web.Mvc;     使用Application.Models;

namespace Application.Controllers
{
    public class applicationController : Controller
    {
        //
        // GET: /email/


        dbRepository er = new dbRepository();

        public ActionResult Index()
        {
            var model = er.findAll();

            return View(model);
        }
        [HttpGet]
        public ActionResult DetailedLinkInfo(int id)
        {
            if (id==null)
            {
                id = 1;
            }
            var details = er.findOne(id);
            return PartialView(details);
        } 

    }
}

0 个答案:

没有答案