我有一个仅使用HTML和Jquery创建的树视图。
我想知道我可以使用HTML和jquery创建自定义控件以使其可重复使用。如果是,那么有人可以就如何实现这个目标提出一些建议
提前致谢
答案 0 :(得分:0)
为了使其可以作为ASP.NET控件重用,它还必须是命名容器安全,如果您想确保它可以安全地丢弃到任何地方,或者在页面上多次使用。这意味着您需要确保向脚本传递对控件标记的根的唯一ID的引用(例如ClientID
),并且任何其他引用都与此相关。
但通常,您可以通过多种方式自定义控件。如果它没有控件,那么您可以将所有资源(HTML和脚本)包含为embedded resources。控件可以在最简单的级别通过Render
方法将自己的嵌入资源流传输到客户端。
要处理脚本,您可以类似地使用ScriptManager
将自己的嵌入式javascript注册为客户端脚本块。但这并不理想,因为您的脚本将始终包含在块中,因此客户端可能无法很好地缓存它们。
更好的方法是使用WebResource.axd.
Here is an article来提供嵌入式资源,解释如何执行此操作。
就我个人而言,我发现WebResource
和嵌入资源是一个巨大的痛苦。您需要让AssemblyInfo.cs
与资源以及程序集名称和版本保持同步。命名空间约定似乎总是难以正确。我发现简单地公开自定义控件的静态方法更容易,例如:
public static Stream GetEmbeddedResource(someResourceIdentifier, out string mimeType) {
/// return a stream of my own embedded resource ... can be used for anything
/// css, js, html
}
然后只需创建自己的Web处理程序以用作资源加载器并流式传输内容。这样会更容易,而且您最终还不会使用包含200个字符长查询字符串的WebResource.axd
包含。