gpt4 book ai didi

javascript - 在 RadGrid 编辑表单中获取控件的 ClientID

转载 作者:行者123 更新时间:2023-11-30 06:07:17 33 4
gpt4 key购买 nike

我有带有自定义编辑表单的 Telerik RadGrid。在我的编辑表单中有一个 RadDatePicker,我向其中添加了一个包含“今天”按钮的自定义页脚模板。

在按钮的 OnClick 事件中,我调用了一个 Javascript 函数,该函数采用控件 ID 来设置所选日期。

但是,因为控件在编辑表单中,所以没有为它创建变量,当我尝试获取客户端 ID 时编译器会抛出错误。

RadDatePicker 声明为:

<telerik:RadDatePicker ID="ControlName" runat="server" SelectedDate='<%# Bind("Field") %>'>
<Calendar ID="Calendar1" runat="server">
<FooterTemplate>
<div style="width: 100%; text-align: center; background-color: Gray;">
<input id="Button1" type="button" value="Today" class="button"
onclick="GoToToday('<%= ControlName.ClientID %>')" />
</div>
</FooterTemplate>
</Calendar>
</telerik:RadDatePicker>

我收到的错误是 CS0103: The name 'ControlName' does not exist in the current context 在引用 ClientID 的行上。

还有其他方法可以获取 ID 以传递给 Javascript 函数吗?

最佳答案

我求助于用 RadAjaxPanel 包装 Telerik RadGrid,然后在绑定(bind)事件的服务器端代码中,我使用 Ajax 面板设置一些 Javascript 变量:

RadAjaxPanel1.ResponseScripts.Add(string.Format("window['ControlNameId'] = '{0}';", ControlName.ClientID));

然后我向 DatePicker 添加了一个客户端事件处理程序:ClientEvents-OnPopupOpening="AddButtonClickEvent"

然后该页面包含以下 Javascript 以使用 jQuery 绑定(bind)点击事件处理程序:

    function AddButtonClickEvent(sender, eventArgs) {
var cal = window['ControlNameId'];
$('#Button1').bind('click', function() {
GoToToday(cal);
});
}

一切都按预期工作。

关于javascript - 在 RadGrid 编辑表单中获取控件的 ClientID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493777/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com