加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET – 使用AJAX加载用户控件?

发布时间:2020-12-16 03:57:15 所属栏目:asp.Net 来源:网络整理
导读:我不确定我是否有可能做的事情 – 我只是想用 AJAX调用用户控件并获取控件的渲染html.但是,当我尝试获取控件时,我收到以下错误消息: 此类页面不会提供. 描述:未提供您请求的页面类型,因为它已被明确禁止.扩展名“.ascx”可能不正确.请查看下面的网址,确保
我不确定我是否有可能做的事情 – 我只是想用 AJAX调用用户控件并获取控件的渲染html.但是,当我尝试获取控件时,我收到以下错误消息:

此类页面不会提供.

描述:未提供您请求的页面类型,因为它已被明确禁止.扩展名“.ascx”可能不正确.请查看下面的网址,确保拼写正确.

请求的URL:/Controls/ClientFormControl.ascx

是否可以使这种类型的页面可以使用,或者是否需要调用它?我知道在MVC框架中这些事情很容易……

提前致谢.

解决方法

你没有正确地看待这个问题.除非它包含在WebForm中,否则无法呈现usercontrol.

这个问题的正确解决方案是创建一个只包含usercontrol的页面,然后根据需要渲染/注入它.

或者,您可以使用updatepanel,然后在服务器端以编程方式将usercontrol添加到当前页面(类似于updatepanel_load事件).

(实际上看起来我的第二个解决方案不起作用 – 现在检查出来)

在这里跟进是一个很好的例子:http://geekswithblogs.net/rashid/archive/2007/08/11/Loading-UserControl-Dynamically-in-UpdatePanel.aspx

看起来这个技巧是一个占位符和一个我不知道LoadControl()的函数.
System.Web.UI.TemplateControl.LoadControl

PlaceHolder1.Controls.Clear();
UserControl uc = (UserControl)LoadControl(controlPath);
PlaceHolder1.Controls.Add(uc);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读