首页 新闻 会员 周边

Telerik的Grid在MVC3中的超链接问题

0
悬赏园豆:80 [待解决问题]

想在Grid里面添加Edit的超链接,而Grid里面的数据使用的是Ajax Binding.

效果如下,问题是当翻页以后,Edit的超链接不见了.

如下:

页面浏览代码如下:

View Code
@(
 Html.Telerik().Grid(Model)
.Name("Service")

    .Columns(columns =>
{
    columns.Bound(s => s.ServiceID).Hidden(true);
    columns.Bound(s => s.Title).Title("标题");
    columns.Bound(s => s.Author).Title("作者");
    columns.Bound(s => s.Remark).Title("备注");
   
    columns.Template(o => @Html.ActionLink("Edit", "Edit", new { id = o.ServiceID }, null)).Title("Edit");

}).DataBinding(dataBinding => dataBinding.Ajax()
        .Select("_AJaxBinding", "Service"))
        .Pageable()
        .Sortable()
)

 Controller里面按照示例绑定,使用了ViewModel

View Code
        public ViewResult Index()
        {
            var model = (from s in db.ServiceCases
                         select new ServiceViewModel
                         {
                             ServiceID = s.ServiceID,
                             Title = s.Title,
                             Author = s.Author,
                             Remark = s.Remark
                         }).ToList();

            return View(model);
        }

        [GridAction]
        public ActionResult _AjaxBinding()
        {
            var model = (from s in db.ServiceCases
                         select new ServiceViewModel
                         {
                             ServiceID = s.ServiceID,
                             Title = s.Title,
                             Author = s.Author,
                             Remark = s.Remark
                         }).ToList();

            return View(new GridModel { Data = model });
        }

去文档查询,不知道如何下手.

晴空万里i的主页 晴空万里i | 初学一级 | 园豆:34
提问于:2012-12-20 18:36
< >
分享
所有回答(3)
0

怎么翻页的? 翻页代码贴出来。

翻页完成再做一次绑定应该可以了

卒子 | 园豆:588 (小虾三级) | 2012-12-20 21:25
View Code
        public ViewResult Index()
        {
            var model = (from s in db.ServiceCases
                         select new ServiceViewModel
                         {
                             ServiceID = s.ServiceID,
                             Title = s.Title,
                             Author = s.Author,
                             Remark = s.Remark
                         }).ToList();

            return View(model);
        }

        [GridAction]
        public ActionResult _AjaxBinding()
        {
            var model = (from s in db.ServiceCases
                         select new ServiceViewModel
                         {
                             ServiceID = s.ServiceID,
                             Title = s.Title,
                             Author = s.Author,
                             Remark = s.Remark
                         }).ToList();

            return View(new GridModel { Data = model });
        }

就是上面Controller里面的代码,就实现了绑定和翻页.使用的是Gird控件.

支持(0) 反对(0) 晴空万里i | 园豆:34 (初学一级) | 2012-12-21 10:44
0
columns.Bound(p => p.Discontinued)
                   
.ClientTemplate("<input type='checkbox' disabled='disabled' name='Discontinued' <#=
                       Discontinued? checked='checked' : '' #> />"
);

个人感觉,如果楼按照官网上例子来写的话,应该没有什么错误。
http://demos.telerik.com/aspnet-mvc/razor/grid/columncontextmenu
chenping2008 | 园豆:9836 (大侠五级) | 2012-12-20 22:24

其实我的问题就是在使用Ajax Binding后,怎么添加编辑,删除列哈.我在看看文档在回复哈.

支持(0) 反对(0) 晴空万里i | 园豆:34 (初学一级) | 2012-12-21 14:21

官网上的例子是服务器端绑定,添加删除操作在翻页后依然正常

但是使用AJAXJ绑定后,添加删除操作翻页后就不见了,这些添加删除操作都是自定义的操作.

支持(0) 反对(0) 晴空万里i | 园豆:34 (初学一级) | 2013-01-05 16:27
0

要么用ClientTemplate,要么用Server 端绑定

Alvin | 园豆:828 (小虾三级) | 2012-12-25 10:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册