如何在更新面板内的 gridview 内使用带有 javascript 的 CustomControl?

发布于 2024-07-29 04:27:24 字数 1492 浏览 2 评论 0原文

当我想使用 gridview 和 updatePanel 添加自定义控件时,我遇到了麻烦。 即使我直接在 RenderContent 方法中编写 JavaScript 函数,也永远不会将其添加到页面中。

该页面是:

UpdatePanel 网格视图 编辑项目 自定义控件


” SelectCommand="从 [APP_ROLE] 选择 *">  

自定义控件如下所示:

[ToolboxData("<{0}:TestControl runat=server>")] 公共类测试控件:WebControl { 受保护的重写 void OnInit(EventArgs e) { 基.OnInit(e);

        string script = "<SCRIPT type=\"text/javascript\">\n" +
            "function show_" + ClientID + "(){alert('toto');}" +
            "</SCRIPT>\n";

        if (Page.ClientScript.IsClientScriptBlockRegistered("show_" + ClientID))
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "show_" + ClientID, script);
    }

    protected override void RenderContents(HtmlTextWriter writer)
    {
        writer.WriteLine("<a href=\"javascript:show_" + ClientID + "();\">click</a>");
    }
}

谁能帮我 ?

干杯。

I got trouble when I want to add my custom control with an gridview and an updatePanel.
The javascript function is never added to the page even if I write it directly inside the RenderContent method.

The page is :

UpdatePanel
GridView
EditItem
CustomControl

"
SelectCommand="SELECT * FROM [APP_ROLE]">

 

The custom constrol looks like that :

[ToolboxData("<{0}:TestControl runat=server>")]
public class TestControl : WebControl
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);

        string script = "<SCRIPT type=\"text/javascript\">\n" +
            "function show_" + ClientID + "(){alert('toto');}" +
            "</SCRIPT>\n";

        if (Page.ClientScript.IsClientScriptBlockRegistered("show_" + ClientID))
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "show_" + ClientID, script);
    }

    protected override void RenderContents(HtmlTextWriter writer)
    {
        writer.WriteLine("<a href=\"javascript:show_" + ClientID + "();\">click</a>");
    }
}

Can anyone help me ?

Cheers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陪我终i 2024-08-05 04:27:24

看起来您的 if 语句正在检查脚本块是否存在,然后仅在脚本块已经存在时添加脚本块。

我会取出 if 语句,看看会发生什么。

It looks like your if statement is checking for the existence of the script block, then adding the script block only if it already exists.

I'd take out that if statement and see what happens.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文