问题标签 [loadcontrol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1543 浏览

asp.net - 注入 gridView 需要 VerifyRenderingInServerForm 。但为什么?

ASP.NET

A.aspx

我正在使用 JQuery 访问加载包含 GridView 的控件( ascx )的 ashx 文件。控件内容正在被注入页面...

当我这样做时:

它告诉我 GridView 必须放在表单部分中。

所以我创建了我的页面

在其中我覆盖了这个方法。我正在使用我的页面,一切都很好。

问题是为什么?为什么它必须是一种形式?它没有任何输入!

另外,如果我的 ascx 只包含<asp:Label ( runatServer)一切都很好,并且不需要将它放在表单中。

我错过了什么?

0 投票
2 回答
662 浏览

c# - 使用 LoadControl 显示缓存的 WebUserControls

这是我在此的头一篇博文。

我编写了一个 CMS,它允许开发人员以 WebUserControls 的形式编写自己的插件。用户可以(通过 TinyMCE)将这些插件插入到内容中。这是使用 LoadControl 方法以编程方式完成的,添加到控件层次结构并设置它的属性。到目前为止一切都很好。

我想允许开发人员在他们的 WebUserControls 上使用 OutputCache,但是这些控件需要被 WebUserControl 的属性缓存。例如,开发人员编写了一个 WebUserControl color.ascx,它具有属性 Color (Red|Green|Blue),因此根据该属性的值,缓存可以存储红色、绿色和蓝色版本。

我遇到的问题是一个页面可以有多个,比如说三个,color.ascx 控件(红色、绿色和蓝色),通过 LoadControl 动态加载。缓存后,LoadControl 方法正确返回 PartialCachingControl,但刷新页面时它始终是缓存中的最后一个版本,即页面显示 3 Blue 而不是 Red、Green 和 Blue。

LoadControl(或通过其他方式)有没有办法从缓存中加载正确的版本,即使用 Color 属性,我应该如何使用 OutputCache 来确保它基于 WebUserControls 属性保存到缓存中?

谢谢你的帮助。

0 投票
4 回答
7286 浏览

asp.net - 如何在回发中停止 HtmlEditorExtender 编码 html?

我有一个用户控件,其中包含一个文本框、一个HtmlEditorExtender和一个按钮。用户控件使用LoadControl(). 每当我单击按钮发布表单时,文本框中的任何格式化文本都会被编码,这不是应该发生的。


例如,如果我加载文本控件

.Text在我点击按钮发布页面后,属性返回的文本是

如果我第二次发布,它会进一步编码为:

等等。


如果我在设计时将用户控件添加到页面,我确认该控件可以正常工作(不对 HTML 进行编码)。仅当我使用LoadControl()加载它时才会发生此问题。

我花了几天时间试图解决这个问题,但我无法判断我是否做错了什么,控件是否与此场景不兼容,或者是否有可靠的解决方法。


这是一个简单的例子:

用户控制:

用户控制代码(BaseUserControl扩展System.Web.UI.UserControl和声明Initialize()):

主页包含此占位符:

主页面代码:

0 投票
1 回答
2389 浏览

c# - 从 C# 中的 LoadControl(string path) 获取和设置参数

我想基于 XML 将用户控件添加到我的页面:

用户控件看起来像这样的 TextBox.ascx:

我根据 xml 中的 type 属性执行 LoadControl。喜欢:LoadControl(类型+“.ascx”):

我想将 xml 中的文本属性传递给 TextBox.ascx 中的标签。像这样: ctrl.Label = field.text 我知道如果我将控件转换为正确的类型,我可以这样做,但我不知道类型。我可以以某种方式使用反射吗?

0 投票
1 回答
4333 浏览

c# - 在遵守页面生命周期的同时以编程方式呈现控件(使用 LoadControl)

我正在尝试使用LoadControl代码中的自定义控件来进行编程渲染。但是我注意到OnInit我的自定义控件的方法没有被调用。我在这里错过了一个重要的步骤吗?

这是调用上面代码的地方

0 投票
1 回答
2317 浏览

asp.net - 防止呈现用户控件

在我们的 asp.net webforms 应用程序中,我们将用户控件动态加载到占位符中。为了在回发中保留更改,我们的页面生命周期比平时要复杂一些。为了成功加载我们的视图状态,我们总是在 pageInit 中恢复之前的控制结构。只有这样我们才能清除占位符并将新控件加载到其中。

不幸的是,这意味着旧用户控件和新用户控件的整个生命周期,包括旧模块的整个 .ascx 标记文件的服务器端处理。

现在我的问题是:是否有可能最小化旧模块的服务器端处理,因为它永远不会被发送回客户端(即它的服务器端渲染是完全没有必要的)。我理想地想要实现的是用户控件的一种“轻量级”加载,当它的唯一目的是恢复 vewstate 信息而不会到达客户端时。

练习的目标是性能优化。

任何提示,想法或建议表示赞赏!

0 投票
1 回答
1022 浏览

performance-testing - 如何计算以下 #Vus、AVG 事务时间、loadrunner 中多个脚本的迭代?

您需要围绕以下参数设置场景:

  • 项目清单
  • 您最多有 1000 个 vus
  • 您有 10 个脚本,每个脚本都有一个初始化、一个操作(包含多个步骤)和一个结束。每个脚本的最小总事务时间(init+action+end)为 1 分钟(假设在 init 和 end 步骤中花费的时间 =0)。
  • 所有奇数脚本需要生成总计 10,000 笔交易/小时
  • 所有偶数脚本需要生成总计 5,000 笔交易/小时
  • 脚本 1 和 3 生成的事务数应占总流量的 30%。
  • 脚本的加速时间为 30 分钟,一旦达到加速时间,您希望运行 3 小时。您还想使用所有 1000 vus。

对于这种情况,请确定以下内容 -</p>

  • # vus 分配给每个脚本
  • 每个脚本的平均交易时间(思考时间设置)
  • # 每个脚本的迭代次数
0 投票
1 回答
1551 浏览

windows - 从 Loadrunner 控制器写入文件

我正在使用 Loadrunner 控制器 11.51,尝试打开文件以使用“fopen”函数写入输出结果时遇到问题,文件无法打开。请注意,当我在 VUGen(11.51) 上运行该代码时,该代码有效。似乎这是 LoadController 中使用的“LoadGenerators”中的权限问题。如果你们中的任何人遇到过这样的问题,请告知。

我正在使用的代码片段:

当我使用 Loadrunner 控制器运行脚本时, fopen(filename, access_mode) 函数的返回值始终为空。

0 投票
1 回答
1692 浏览

c# - 获取用户控制 HTML

我需要获取用户控件的 HTML。

目前我正在使用下面的代码。

您能否解释一下我如何使用方法 1 来实现这一点,这样我就不必对控件的虚拟路径进行硬编码。

我还尝试了 uc.LoadControl() 的其他重载

0 投票
2 回答
3984 浏览

asp.net - 在asp.net中访问网站根文件夹外的文件夹

我在服务器上有大约 15 个网站,我构建了一个在所有网站上通用的工具。

现在,不是将相同的文件保存在单个站点的文件夹中,而是决定将文件夹保持通用,并将其保存在网站文件夹之外,这样我就不必将文件保存在所有站点下。

但我的问题是,如果该文件夹位于网站的根文件夹之外,我将无法访问它,因为Server.MapPath它不起作用。

我什至尝试将这些文件保存在站点根目录之一的文件夹下,并像http://domain.com/folder/control.ascx一样访问它们,但这也不起作用。它抛出错误说:http:/domain.com/folder/control.ascx' is not a valid virtual path

任何人都可以帮助我了解如何访问根文件夹之外的文件,或者将其保存在站点的根文件夹中。