在 kendo ui razor 中使用客户端模板打开弹出窗口 window
Open popup window with client template in kendo ui razor
我正在使用 kendo 网格来显示数据,我想在用户单击具有字符串的列之一时打开弹出窗口 window。我的代码是
columns.Bound(c => c.ResumeFileUrl).EditorViewData(new { PartNo = "#: PartNo #" }).EditorTemplateName("ResumeFileUrlEditor").ClientTemplate("<a href='" + "/#=Id#'>View Details</a>");
我的 jquery 是:
$("#mId").click(function () {
$("#Proposal").data("kendoWindow").open();
});
我的 Kendo window 是:
@(Html.Kendo().Window()
.Name("Proposal")
.Title("Proposal")
.Iframe(true)
.Visible(false)
.Draggable()
.Resizable()
)
当我单击列字符串时,弹出窗口 window 未打开。代码有什么问题??
将您的客户端模板更改为:
"<a href='\\#' data-id='#=Id#'>View Details</a>"
这将打印一个 link,例如:<a href='#' data-id='1'>View Details</a>
。然后将您的 jQuery 更改为:
$("[data-id]").on("click", function () {
var id = $(this).data('id'); // Here's the Id of the item which user have clicked
$("#Proposal").data("kendoWindow").open();
});
发生了什么事?
- link 被设置为没有 url 或有效的锚点 (
href="#"
) 因此单击它不会执行任何 visible 对用户的操作;
- 为每个名为
id
的项目添加了一个数据属性,因此您可以通过 .data("id")
和 jQuery. 访问它
现在在点击事件中您点击了 id
并且您可以用它打开详细视图。
我正在使用 kendo 网格来显示数据,我想在用户单击具有字符串的列之一时打开弹出窗口 window。我的代码是
columns.Bound(c => c.ResumeFileUrl).EditorViewData(new { PartNo = "#: PartNo #" }).EditorTemplateName("ResumeFileUrlEditor").ClientTemplate("<a href='" + "/#=Id#'>View Details</a>");
我的 jquery 是:
$("#mId").click(function () {
$("#Proposal").data("kendoWindow").open();
});
我的 Kendo window 是:
@(Html.Kendo().Window()
.Name("Proposal")
.Title("Proposal")
.Iframe(true)
.Visible(false)
.Draggable()
.Resizable()
)
当我单击列字符串时,弹出窗口 window 未打开。代码有什么问题??
将您的客户端模板更改为:
"<a href='\\#' data-id='#=Id#'>View Details</a>"
这将打印一个 link,例如:<a href='#' data-id='1'>View Details</a>
。然后将您的 jQuery 更改为:
$("[data-id]").on("click", function () {
var id = $(this).data('id'); // Here's the Id of the item which user have clicked
$("#Proposal").data("kendoWindow").open();
});
发生了什么事?
- link 被设置为没有 url 或有效的锚点 (
href="#"
) 因此单击它不会执行任何 visible 对用户的操作; - 为每个名为
id
的项目添加了一个数据属性,因此您可以通过.data("id")
和 jQuery. 访问它
现在在点击事件中您点击了 id
并且您可以用它打开详细视图。