首页 新闻 会员 周边

Telerik中自定义Template在排序或过滤后脚本不能用

0
[已解决问题] 解决于 2012-03-14 15:10
@model IEnumerable<HotelManageSystem.Models.BiographyOutline>
<link href= "@Url.Content("~/Content/TelerikGrid.css")"rel="stylesheet" type="text/css"/>
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(
function () {
$(
".DeleteButton").click(function () {
//根据Id删除记录,然后重新获取数据加载
var flag = window.confirm("确认要删除吗?");
var deleteid = $(this).attr("deleteid");
if (flag ==true) {
$.post(
"/Biography/Delete", { id: deleteid }, function (data) {
$(
"#content").html(data);
});
}
});

$(
".EditButton").click(function () {
//根据Id获取编辑员工档案的视图
var editid = $(this).attr("editid");
$.get(
"/Biography/Edit", { id: editid }, function (data) {
$(
"#content").html(data);
});
});

$(
"#btnCreate").click(function () {
//获取添加员工档案的视图
$.get("/Biography/Create", null, function (data) {
$(
"#content").html(data);
});
//设置当前位置为/Biography/Create,防止刷新跳转到/Biography/Index
$.post("HumanResources/SetSeesion", { u: "/Biography/Create" }, function () { });
});
});
</script>
@(
Html.Telerik().Grid(Model)
.Name("BioGraphyOutlineGrid")
.DataKeys(keys => keys.Add(b => b.ID))
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("TelerikAjax", "Biography")
.Delete("Delete", "Biography")
)
.Sortable(sorting => sorting
.SortMode(GridSortMode.SingleColumn))
.Pageable(paging => paging
.Style(GridPagerStyles.NextPreviousAndNumeric)
.Position(GridPagerPosition.Bottom)
.PageSize(15))
.Columns(columns =>
{
columns.Bound(b => b.ID);
columns.Bound(b => b.Name);
columns.Bound(b => b.Sex);
columns.Bound(b => b.Department);
columns.Bound(b => b.Post);
columns.Bound(b => b.Degree);
columns.Template(b => @Html.Raw("<input class='DeleteButton' type='button' value='删除' deleteid='" + b.ID + "'/>"
+ "<input class='EditButton' type='button' value='编辑' editid='" + b.ID + "'/>"))
.ClientTemplate("<input class='DeleteButton' type='button' value='删除' deleteid='<#= ID #>'/>"
+ "<input class='EditButton' type='button' value='编辑' editid='<#= ID #>'/>");
})
.Selectable()
.Scrollable()
.Filterable())
<input id="btnCreate" type="button" value="添加"/>

就是在排序或过滤后删除和编辑的按钮不能在调用脚本进行相应。

凡一二三的主页 凡一二三 | 初学一级 | 园豆:85
提问于:2012-03-14 14:37
< >
分享
最佳答案
0

可能是分页、过滤后数据重新绑定,这时脚本无法调用,那么就在数据绑定时再将脚本给他绑定:

 .Filterable()
.ClientEvents(events => events//防止排序、过滤操作之后按钮无法调用脚本
.OnDataBound("onDataBound")
)
 function onDataBound() {
$(".DeleteButton").click(function () {
//根据Id删除记录,然后重新获取数据加载
var flag = window.confirm("确认要删除吗?");
var deleteid = $(this).attr("deleteid");
if (flag == true) {
$.post("/Biography/Delete", { id: deleteid }, function (data) {
$("#content").html(data);
});
}
});

$(".EditButton").click(function () {
//根据Id获取编辑员工档案的视图
var editid = $(this).attr("editid");
$.get("/Biography/Edit", { id: editid }, function (data) {
$("#content").html(data);
});
});
}
凡一二三 | 初学一级 |园豆:85 | 2012-03-14 15:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册