是否可以在aspx文件中封装这些控件? Register标签让我觉得它不是。
答案 0 :(得分:2)
你不能直接调用ascx页面,他们不能在没有添加到aspx的情况下提供任何html,也不能动态渲染以响应任何页面/处理程序。
答案 1 :(得分:2)
一种可能的方法是在普通的Web表单中使用一个通用的aspx存根页面作为ascx的主机,使用JQuery的$ .ajax()方法回调该页面,并使用一些参数来表示什么要加载的ascx控件。
然后在您的存根/主机页面上,覆盖render方法并使用response.output.write将控件直接呈现给输出流。客户端上的回调处理程序将捕获输出,然后它可以以正常方式插入到DOM中,或者使用允许指定DOM元素的$ .load()版本。
希望这会有所帮助。
答案 2 :(得分:1)
答案 3 :(得分:0)
由于我越来越多地开始使用jQuery / Ajax,我发现我越来越少地使用服务器控件。
我以前用于控件的东西现在只是单独的aspx页面,它们被加载到面板中。
如果你有旧的ASCX文件,将它们转换为ASPX应该不会太难
答案 4 :(得分:0)
没有
也就是说,你可以将你的ascx放在UpdatePanel中,并使用标准的Asp.Net回发机制将面板的内容设置为可见/不可见。
或者您可以编写一个单独的IHttpHandler,它生成您的Javascript代码使用DOM添加到页面的HTML代码。然而,在PostBack中无法访问页面的这一部分。
答案 5 :(得分:-1)
不,ASCX是ASPX上存在的用户控件。您需要将其设为页面,或转换为处理程序。