如何在更新面板内的gridview中使用我的CustomControl和javascript?

时间:2009-07-24 10:16:05

标签: c# asp.net ajax gridview .net-2.0

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

页面是:

的UpdatePanel   网格视图     EditItem       CustomControl

                                                                                   
                                                                                                                                                                                                                                                                                                           “                     SelectCommand =“SELECT * FROM [APP_ROLE]”>                                    

自定义控制器看起来像这样:

[ToolboxData(“< {0}:TestControl runat = server>”)]     公共类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>");
    }
}

任何人都可以帮助我吗?

干杯。

1 个答案:

答案 0 :(得分:1)

看起来你的if语句正在检查是否存在脚本块,然后只在脚本块已经存在的情况下才添加它

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