使用 Ajax 加载用户控件

2024-03-21

我试图找到使用 Ajax 加载用户控件的最佳实践。

我的第一种方法是简单地使用 UpdatePanel 并在 ajax 回发上使用 LoadControl() 弹出它,但这会在同一 UpdatePanel 中重新呈现其他加载的用户控件。另外,我无法拥有一组预定义的 UpdatePanel,因为我需要加载的 UserControl 数量会有所不同。

对于这种情况有什么最佳实践吗?

如果需要,我可以实现一个框架或某种类型的自定义控件(如果这是一个解决方案),但如果可能的话,我很乐意使用 ASP.NET 3.5 和 AjaxControlToolkit 来实现此目的。


可能有几十个高雅的原因不这样做,但简单地初始化一个页面,添加用户控件,然后执行并转储生成的 HTML,无论它在哪里,(在我简单的想法中)是如此令人心麻木的快&有趣的是我不得不提一下......

跳过 UpdatePanels,只需使用标签、普通的旧范围,或者首字母缩略词怎么样......

在客户端使用 JQuery:

$('#SomeContainer').Load("default.aspx?What=GimmeSomeSweetAjax");

服务器端:

if(Request.QueryString["What"]==GimmeSomeSweetAjax)
{
   Page page = new Page();
   Control control = (Control)LoadControl("~/.../someUC.ascx");
   StringWriter sw = new StringWriter();
   page.Controls.Add(control);
   Server.Execute(page, sw, false);
   Response.Write(sw.ToString());
   Response.Flush();
   Response.Close();
}

没有执行任何其他操作,页面的生命周期有一个真正的 Kevorkian 时刻;-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Ajax 加载用户控件 的相关文章

  • 每个 CPU 核心处于 C0 电源状态的时间

    任何帮助弄清楚如何做到这一点都会很棒 在过去一秒内 每个 CPU 核心处于 C0 电源状态的时间有多少 这是针对 Mac 应用程序的 因此需要 Objective C cocoa 和 c OS X 没有任何公开 CPU c 状态的 API
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi
  • 将数组从 C# 编组到 C++ 并返回:PInvokeStackImbalance

    我有一个 C 函数 我想从 C 访问它 问题是我不断收到 PInvokeStackImbalance 异常 但我不知道为什么 当检查异常被关闭时 一切都运行良好并且符合预期 我的 C 函数的签名是 extern C double solve
  • 线程安全的get(访问器方法)

    我目前正在使用以下代码对变量进行线程安全访问 int gnVariable void getVariableValue int pnValue acquireLock Acquires the protection mechanism pn
  • 无法使用 SMTP 将电子邮件发送到外部域

    我无法将电子邮件发送到外部域地址 例如 电子邮件受保护 cdn cgi l email protection 使用下面的代码 SmtpClient smtpClient new SmtpClient smtpMailServer smtpC
  • popen2()在c中如何工作?

    我尝试使用管道 叉子和 dup 在我的程序中执行 md5sume 命令 我发现总和代码运行成功 但我无法理解某些代码行 这是我的代码 int infp outfp char buf 128 if popen2 md5sum infp out
  • NHibernate 中具有不同类型答案的问题

    我正在尝试找到一个问卷问题的简洁解决方案 假设我有一个Questionnaire类有一个集合Answers e g public class Questionnaire public virtual ISet
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • 发生错误。", ExceptionMessage: "提供的 'HttpContent' 实例无效

    尝试将文件添加到 http 休息调用时出现此错误 responseJson 消息 发生错误 ExceptionMessage 提供了无效的 HttpContent 实例 它确实 正在使用 多部分 参数名称 内容 异常类型 System Ar
  • Parallel.For 和 Break() 误解?

    我正在研究 For 循环中的并行性中断 看完之后this http tipsandtricks runicsoft com CSharp ParallelClass html and this http reedcopsey com 201
  • 读取所有进程内存以查找字符串变量c#的地址

    我有 2 个用 C 编写的程序 第一个名为 ScanMe 的程序包含一个包含值 FINDMEEEEEEE 的字符串变量 以及一个值为 1546 22915487 的双精度变量 另一个名为 MemoryScan 的程序读取第一个程序的所有内存
  • 如何带参数调用外部程序?

    我想在我的代码中调用一个 Windows 程序 并使用代码本身确定的参数 我不想调用外部函数或方法 而是调用 WinXP 环境中的实际 exe 或批处理 脚本文件 C 或 C 将是首选语言 但如果使用任何其他语言更容易完成此操作 请告诉我
  • 无论表单上的焦点控件如何,如何捕获 Keys.F1?

    我使用了 KeyDown 事件和一些简单的代码 例如if e KeyCode Keys F1 捕获在表单上按下 F1 但如果表单上有一些文本框 或者表单上有一些带有 Dock Fill 的电子表格 则上面的代码将毫无用处并且不执行任何操作
  • 修改公共属性的访问修饰符是否是重大更改?

    如果我将公共属性的 setter 的访问修饰符从私有更改为公共 是否会导致引用它的其他程序集发生任何重大更改 UPDATE 这个问题是我 2012 年 1 月博客的主题 https ericlippert com 2012 01 09 ev
  • #define, #ifdef #undef #endif

    我有以下代码 define PROC ADD void main void while 1 ifdef PROC ADD Do this code here then undefined it to run the code in the
  • 什么是多重重继承?

    我将以下称为 多重重新继承 直接继承一个类一次 并通过继承其一个或多个后代来间接继承一次或多次 通过继承一个类的两个或多个后代来间接继承一个类两次或多次 我想知道它是否存在以及如何明确访问嵌入的子对象 1 Professional C 2n
  • jquery ajax“发布”调用

    我是 jQuery 和 Ajax 的新手 并且在 发布 方面遇到问题 我正在使用 jQuery Ajax post 调用将数据保存到数据库 当我尝试保存数据时 它将 null 传递给我的 C 方法 jQuery 看起来像这样 functio
  • 为什么C#不支持多重继承? [复制]

    这个问题在这里已经有答案了 可能的重复 C 应该包含多重继承吗 https stackoverflow com questions 191691 should c include multiple inheritance 为什么C 不支持多
  • 为了清楚起见,是否应该在返回类型上使用无用的类型限定符?

    当我们的头文件中有原型时 我们的静态分析工具会抱怨 返回类型上有无用的类型限定符 例如 const int foo 我们这样定义它是因为该函数返回一个永远不会改变的常量 认为 API 看起来更清晰const到位 为了清楚起见 我觉得这类似于
  • 组合框由于某种原因被链接

    我有以下代码来填充 3 个组合框 private void PopulateDDLs SqlConnection connection SqlCommand command SqlDataReader reader DataTable dt

随机推荐

  • 使用 Laravel 5 上传 pdf 文件

    我正在使用 Laravel 5 2 我想制作一个可以用它上传 pdf 文件的表单 我想将该文件添加到 public 文件夹中的 files 文件夹中 这是我的观点 div class form group div
  • 我可以使用 HTML5 data-* 属性作为布尔属性吗? [复制]

    这个问题在这里已经有答案了 我想使用自定义布尔属性将元素的内容标记为可编辑 我知道data 属性 但不确定它们是否需要值 我不需要data is editable false 因为缺少该属性是等效的 我只关心它是否为 true 如果该属性存
  • Rails 路线:从根路径“/”获取资源

    我有一个查询资源 我想将其路由到我的域的根目录 因此发布到 会转到queries create行动等 我的路线 rb root to gt home index resources queries path gt 耙子路线 root hom
  • git lfs 迁移有什么作用?

    我以为git lfs migrate重写了存储库的历史记录 以便将指定的大文件保存在 LFS 中 这意味着存储库应该变得更小 因为它不直接包含大文件的所有版本 然而 当我跑步时 git lfs migrate import include
  • “使用 Google 登录”按钮的 data-login_uri 属性应使用什么?

    我正在尝试实现 使用 Google 登录 按钮 如此处记录的 https developers google com identity gsi web guides display button https developers googl
  • 表单提交前预览图像

    我的表单中有 ImageField 有没有办法在提交表单之前显示所选文件 也许在 jQuery 中可以实现 我读到我可以通过 request FILES 以某种方式访问 此文件 但我认为在提交表单之前它会是空的 试试这个 function
  • 在 ASP.NET Web API 中序列化继承类型

    我在 Web API 中序列化继承的对象时遇到问题 DataContract public class Item DataMember public int ID get set DataMember public string Name
  • CSS - 大于选择器 - 选择大于 N 的项目

    我有一些 p 我的 HTML 正文中的元素 我只想显示前两段 然后设置display none到之后的所有段落 为什么下面的代码不起作用 p p 1 p p 2 p p 3 p p 4 p 我的代码仍然在 Chrome 网络浏览器中显示所有
  • GUI 应用程序中的 Web 技术

    您在使用 Web 技术 HTML XML CSS JavaScript 实现 GUI 应用程序的部分功能方面有什么经验 优点和缺点 请说一下 没有服务器 关系数据库 AJAX 或用于会话管理的 cookie 也没有现有的 Web 应用程序
  • C 标准是否允许自修改代码?

    C 中的自修改代码是否可以以可移植的方式实现 我问的原因是 在某种程度上 OOP 依赖于自修改代码 因为在运行时执行的代码实际上是作为数据生成的 例如在 v 表中 但是 似乎如果这太过分了 它会阻止编译器中的大多数优化 例如 void ad
  • 三张牌排成一行,而不是所有牌排成一列

    我正在使用 React 和 Material UI 我在一个数组中有 40 张动态卡 当我渲染它们时 我想要连续 3 张卡 并将所有卡放在一列中 我正在使用这张卡 https codesandbox io s r084q99q34 http
  • 我可以在 OS X 中进行 Java 6 开发吗?

    我知道当 Leopard 推出时 每个人 嗯 每个 Java 开发人员并且足够关心在 Mac 上进行开发 都对没有 Java 6 SDK 支持感到愤怒 我知道有人在 Leopard 发布几个月后提供了某种破解方法 但我可以发誓 我稍后读到
  • 从我的数据框中创建虚拟变量矩阵;使用“NA”来查找缺失值

    我有一个基于不同年份的数据 重复了几次 我希望我的输出具有等于年数的列 每列代表一年 现在 目的是分别为每年创建虚拟变量 例如 只要主数据中存在与 2000 年平行的非 NA 观测值 2000 年的输出列就必须具有值 1 否则为 0 而且
  • 从 Firebase 通知恢复应用程序不起作用(Xamarin Forms)

    我正在努力整合Firebase 推送通知到我的应用程序 请找到我的火力基地Firebase消息服务 class 如果应用程序打开并运行 则一切正常 但是 如果应用程序未打开 如果我切换到其他应用程序 我的应用程序未关闭 我收到通知 但当我点
  • 帮助在 Rails 中构建模型

    class Profile has many projects through gt teamss has many teams foreign key gt member id has many own projects class na
  • Jenkins:动态作业创建引发“管道 CPS 方法不匹配”错误

    我正在尝试从应并行运行的管道作业之一创建多个动态作业 我希望我的詹金斯管道脚本根据用户输入下载并安装我的软件二进制文件 以下是我的示例阶段 第 1 阶段 将下载构建版本 第 2 阶段 获取参数并安装软件的 云 部分 第 3 阶段 将接受用户
  • Mongoose populate() 返回空数组

    所以我已经花了大约4个小时 阅读了几次文档 但仍然无法找出我的问题 我正在尝试对我的模型执行一个简单的 populate 我有一个用户模型和商店模型 用户有一个 favoriteStores 数组 其中包含商店的 id 我正在寻找的是这个数
  • SQL查询where参数为null不为null

    我正在尝试执行 SQL 查询并根据参数是否为空或否动态构建 where 条件 我有这样的事情 SELECT tblOrder ProdOrder tblOrder Customer FROM tblOrder CASE WHEN Order
  • 找不到模块“内部/错误”离子

    我正在尝试创建新的离子项目 然后它显示以下错误 我已经删除了nodejs npm ionic并再次重新安装 但再次出现相同的错误 Terminal https i stack imgur com vLP7J png Error Error
  • 使用 Ajax 加载用户控件

    我试图找到使用 Ajax 加载用户控件的最佳实践 我的第一种方法是简单地使用 UpdatePanel 并在 ajax 回发上使用 LoadControl 弹出它 但这会在同一 UpdatePanel 中重新呈现其他加载的用户控件 另外 我无