[英]How do I embed javascript directly into my ASP.net Custom Control?
我正在构建我的第一个用户控件,并且希望将控件所需的javascript与程序集打包在一起,因此最终用户不必担心会包含依赖项。 我遵循了Scott Mitchell的教程( http://aspnet.4guysfromrolla.com/articles/080906-1.aspx ),但我似乎无法使其正常运行。
到目前为止,这是我所做的:
我创建了一个CollapsiblePanel.js文件,其中包含以下功能:
function TogglePanel(panelId) {
// $(panelId + ' .PanelContent').toggle();
alert(panelId);
}
在属性面板下,将“构建操作”设置为“嵌入式资源”。 该文件位于我的类库项目中的scripts /目录中。 我项目的根名称空间是webstation.WebControls,因此,如果我的理解正确,我应该通过“ webstation.WebControls.scripts.CollapsiblePanel.js”引用js文件。
我在自定义控件的类声明之前添加了以下行:
<Assembly: WebResource("webstation.WebControls.scripts.CollapsiblePanel.js", "text/javascript")>
我在自定义控件中覆盖了OnPreRender事件,并添加了以下内容:
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
呈现控件时,我有一个带有功能“ TogglePanel(this.id);”的按钮。 在onclick事件中,但是当我单击按钮时,我收到一条错误消息,提示未定义函数。 如果有人知道我将如何开始使用嵌入式JavaScript,我将非常感谢您的帮助,
麦克风
找到了,
问题是我在资源名称中包含了“脚本”,所以我有了“ webstation.WebControls.scripts.CollapsiblePanel.js”
我决定尝试一下,所以有了:“ webstation.WebControls.CollapsiblePanel.js”
然后就成功了。
这有点令人困惑,因为所有文档都特别说明了将路径作为命名约定的一部分,但是在项目中包含文件夹时,也许我做错了。
麦克风
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.