Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript直接嵌入到ASP.net自定义控件中?_Asp.net_Javascript_Custom Controls_Custom Server Controls - Fatal编程技术网

如何将javascript直接嵌入到ASP.net自定义控件中?

如何将javascript直接嵌入到ASP.net自定义控件中?,asp.net,javascript,custom-controls,custom-server-controls,Asp.net,Javascript,Custom Controls,Custom Server Controls,我正在构建我的第一个用户控件,我希望将控件所需的javascript打包到程序集中,这样最终用户就不必担心包含依赖项。我遵循了Scott Mitchell()的教程,但我似乎无法让它正常工作 以下是我迄今为止所做的工作: 我创建了一个collapsablepanel.js文件,其中包含以下函数: function TogglePanel(panelId) { // $(panelId + ' .PanelContent').toggle(); alert(panelId);

我正在构建我的第一个用户控件,我希望将控件所需的javascript打包到程序集中,这样最终用户就不必担心包含依赖项。我遵循了Scott Mitchell()的教程,但我似乎无法让它正常工作

以下是我迄今为止所做的工作:

我创建了一个collapsablepanel.js文件,其中包含以下函数:

function TogglePanel(panelId) {
    //    $(panelId + ' .PanelContent').toggle();
    alert(panelId);
}
在属性面板下,我将构建操作设置为“嵌入式资源”。此文件位于我的类库项目中的脚本/目录中。我的项目的根命名空间是webstation.WebControls,因此如果我的理解是正确的,我应该通过“webstation.WebControls.scripts.collapsablepanel.js”引用js文件

我在自定义控件的类声明之前添加了以下行:

<Assembly: WebResource("webstation.WebControls.scripts.CollapsiblePanel.js", "text/javascript")>
当我渲染控件时,onclick事件中有一个带有函数“TogglePanel(this.id);”的按钮,但当我单击该按钮时,会出现一个错误,表明该函数未定义。如果有人知道我将如何开始使用嵌入式javascript,我将非常感谢您的帮助

迈克找到了它

问题是我在资源名称中包含了“scripts”,所以我有“webstation.WebControls.scripts.collapsablepanel.js”

我决定尝试一下,所以我: “webstation.WebControl.CollapsablePanel.js”

这就成功了

这有点让人困惑,因为所有文档都明确说明了将路径作为命名约定的一部分,但可能是我在项目中包含文件夹时出错了

迈克

Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)

    Page.ClientScript.RegisterClientScriptInclude("wsWebControlsCollapsiblePanel", _
                  Page.ClientScript.GetWebResourceUrl(Me.GetType(), "webstation.WebControls.scripts.CollapsiblePanel.js"))

    MyBase.OnPreRender(e)

End Sub