如何以编程方式构建带有表单和用户控件的 System.Web.UI.Page?

2023-12-12

我有这个代码:

public static string RenderView(string path)
{
    Page pageHolder = new Page();
    UserControl viewControl = (UserControl)pageHolder.LoadControl(path);

    pageHolder.Controls.Add(viewControl);

    StringWriter output = new StringWriter();
    HttpContext.Current.Server.Execute(pageHolder, output, false);

    return output.ToString();
}

这是从以下位置运行的:

    [WebMethod]
    public string GetReportsHTML()
    {
        string output = "";

        output = ViewManager.RenderView("ReportsControl.ascx");

        return output;
    }

这是为了测试渲染 ASCX 文件并将它们从 SOAP/REST 服务中吐出。

问题是,某些控件(runat=server 控件)如果未封装在带有 runat=server 的标记中,则会失败。

解决办法是here,但该解决方案假设位于 ASPX 文件内,我可以在其中编辑标记。

我将如何以编程方式构建页面,添加表单,设置 runat=server 以便我可以遵循该解决方案并将我的控件添加到表单控件?


你尝试过这样的事情吗?

public static string RenderView(string path)
{
    Page pageHolder = new Page();
    System.Web.UI.HtmlControls.HtmlForm formHolder = new System.Web.UI.HtmlControls.HtmlForm();
    pageHolder.Controls.Add(formHolder );

    UserControl viewControl = (UserControl)pageHolder.LoadControl(path);

    formHolder.Controls.Add(viewControl);

    StringWriter output = new StringWriter();
    HttpContext.Current.Server.Execute(pageHolder, output, false);

    return output.ToString();
}

希望这会有所帮助

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

如何以编程方式构建带有表单和用户控件的 System.Web.UI.Page? 的相关文章

  • ASP.NET 会话状态服务器与 InProc 会话

    运行会话状态服务器而不是 InProc 的开销性能损失是多少 重要吗 我知道您可以使用状态服务器重新启动 w3wp 并保留所有会话状态 这是相对于 InProc 的唯一优势吗 这取决于您的部署计划 在单个服务器上 损失很小 但好处同样有限
  • 如何强制网站的某些部分在 SSL 下浏览?

    我们网站上的某些部分或页面涉及敏感的用户或帐户信息 我想强制用户在 HTTPS 下浏览这些页面 而其他包含公共内容的页面应在 HTTP 下可用 我打算在 IIS 上安装 url Rewrite 模块并编写规则来实现此目的 我不知道如何在 w
  • 如何将整个 POST 数据转储到 ASP.NET 中的文件中

    我目前正在尝试将一个应用程序从 asp net 移植到 php 但是我遇到了困难 需要有人帮忙 我需要将通过 POST 收到的 aspx 中的所有数据转储到文件中 但我不知道如何执行此操作 有任何想法吗 您可以使用Request 对象的In
  • 刷新/重新加载 ASP.net 的副作用?

    我在 Web 和 ASP Net 开发方面相对较新 所以请耐心等待 在测试我们的网页的过程中 我注意到 如果用户单击 刷新 重新加载 并在 重新发送信息 对话框提示时单击 重试 则无论用户选择之前触发的最后一个事件如何到 刷新 随后将再次被
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • 在Page_Load之前处理事件

    我有一个 ASP NET 网页 其中包含大量在页面的 Page Load 事件中处理的代码 我在页面上还有一个下拉框 应该使用新值重新加载页面 但我想在处理整个页面加载代码之前获取这个新值 我正在尝试了解 ASP NET 页面生命周期 我应
  • 如何使用 jQuery 过滤 DropDownList 中的选项

    我有 2 个 DropDownList 第一个 DropDownList 有 4 个选项 第二个 DropDownList 有 20 个选项 我想要一个选项value 1在第一个 DropDownList 中选择我在第二个 DropDown
  • JWT - 配置授权服务器并将颁发者设置为其本身

    我正在尝试按照本指南设置授权服务器 http bitoftech net 2014 10 27 json web token asp net web api 2 jwt owin authorization server http bito
  • IIS Express 安装目录在哪里?

    我最近开始了一个 ASP NET 教程 我想测试我用 WebMatrix 制作的页面 然而 有一个错误 Web 服务器配置为不列出该目录的内容 因此 它建议启用目录浏览并转到 IIS Express 安装目录并运行命令 那么它到底位于哪里呢
  • 上下文不是 ASP.NET 用户控件的成员

    我刚刚在 ASP NET Web 应用程序项目中创建了新的用户控件 创建后 源代码如下所示 但是一旦我向其中添加一些额外的代码 第一行就会立即出现错误 上下文不是 CS SSR RAIO SSR Project 的成员 我确实有其他用户控件
  • 使用 C# 和 ADO.NET SET NOCOUNT ON 并读取消息

    SET NOCOUNT ON 会阻止显示受 Transact SQL 语句或存储过程影响的行数的消息作为结果集的一部分返回 a 如何使用 C 和 ADO NET 读取这些消息 我假设读取这些消息的 C 代码是相同的 无论 T SQL 语句是
  • ASMX相当于Page_Init?

    我有一些代码想要在调用 ASMX 函数的生命周期的早期执行 对于我们的 ASPX 页面 此代码位于基类的 Page Init 函数中 我们所有的 ASPX 页面都继承自该基类 ASMX 是否有相当于 ASPX 的 Page Init 函数
  • web.config 授权是否适用于 aspx 以外的文件?

    我有带有表单身份验证的 ASP NET 应用程序 它运行良好 但我有一个包含 olly txt 文件 无 aspx 文件 的目录 我希望用户不要访问该目录 或仅登录用户 我将 web config 添加到该目录
  • 将所有 Web API 请求路由到一种控制器方法

    是否可以自定义 ASP NET Web API 路由机制 将所有对 API 的请求路由到一个控制器方法 如果请求到达 www mysite com api products or www mysite com api otherResour
  • 使用 jQuery 的 ASP.NET 中的模态表单

    我对 ASP NET 开发还比较陌生 到目前为止 我已经设法让事情变得简单 但我现在的需求有点复杂 到目前为止还没有得到太多乐趣 本质上我希望在单击按钮添加新用户时弹出一个模式表单 所以我发现这个在 jQuery 网站上 http jque
  • IIS - 打开基本身份验证会导致登录重定向循环

    在 IIS 站点上启用基本身份验证后 我尝试访问该站点 它不显示登录表单 而是将我重定向到其他地方 其中包含一个我无法弄清楚的长链接 http 我的域名 Login Login Login ReturnUrl 2FLogin 2FLogin
  • 通过向导方法使用内置 ASP.NET MVC 验证

    我正在使用JQuery Steps 插件基本表单示例 http www jquery steps com Examples basic form为了我的巫师 在此示例中 您会注意到他们使用的是 JQuery Validate 插件 该插件与
  • WCF Rest Web 服务在本地主机上工作,但不在主机上工作

    我在 ASP net 网站内创建了一个简单的 WCF Web 服务 该网络服务由IIS并且在本地主机上工作正常 即访问时http localhost myservice svc HelloWorld http localhost myser
  • WCF 与 WebAPI 和本机移动设备

    我一直在开发一个完全基于 ajax 的单页 Web 应用程序 无 POST 现在我在开发过程中使用 ASMX 来提供 Web 服务 Web 服务使用 JSON 数据 对于该版本 我知道我需要升级到 WCF 或 WebAPI 最终 我计划构建
  • RegisterClientScriptCode 在部分回发后不起作用

    以下代码行位于 SharePoint 网站的用户控件中 ScriptManager RegisterClientScriptBlock this this GetType jquery144 false ScriptManager Regi

随机推荐

  • 尝试将文件上传到 CKAN 时出错:“无法获取存储上传凭据。上传无法继续”

    当尝试将文件上传到 CKAN 中的数据集时 我在 Web 界面中收到此错误 Failed to get credentials for storage upload Upload cannot proceed 此错误通常是由于 CKAN 的
  • LESS CSS 使用不同的前缀转义整个 CSS 规则?

    我如何避免以下情况 prefix rule prop webkit rule prop moz rule prop o rule prop ms rule prop rule prop 我尝试了很多不同的方法 将其包装在 stuff 将变量
  • 我的 GPU 上的总线程数、块数和网格数。

    For the NVIDIA GEFORCE 940mx GPU Device Query shows it has 3 Multiprocessor and 128 cores for each MP 每个多处理器的线程数 2048 所以
  • 4 点之间的场景套件形状

    鉴于我在上一个问题中采取的路线 ARKit 在 Swift 3 中的平面上的 2 个向量点之间放置一个 SCNPlane 似乎有缺陷 我正在寻找其他选择 我可以在两个节点之间画一条线 然后我可以在这些节点之上创建节点 有效地在一个正方形中
  • 在 C# 中,如何将刷新/重绘消息发送到 WPF 网格或画布?

    如何向 WPF 网格或画布发送刷新消息 换句话说 我注意到在调试模式下 我可以编写代码将一行发送到显示器 然后 如果该行不正确 我可以调整它 但前一行仍然存在 现在 我正在编写的代码根据用户单击的内容将信息发送到显示器 因此 这必定意味着每
  • Instagram API 错误:已达到客户端请求限制

    每当我尝试通过 API 在 Instagram 上关注某人时 无论之前已关注了多少次 我都会收到此错误 meta error type APIError code 400 error message Client request limit
  • 如何从 REST 端点捕获 JsonParseException

    我有一个像这样的端点 POST public Response update MyDocument myDocument 如果请求无效 我的服务器将收到一些很长的日志 如下所示 javax servlet ServletException
  • 继承 - 符号未定义 Objective-C++

    快速问题 这只是我对继承的误解 所以这应该很快就能解决 我正在使用 Objective C 如果问题已经解决了 我会取消这个问题 我找不到它 因此我的帖子 我有以下内容 基础 h文件 ifndef BASE H define BASE H
  • Facebook 注册日期

    如何查找 Facebook 上的注册个人资料的日期 是否可以 我可以通过 API 来做吗 我用谷歌搜索 但找不到解决方案 没有公共途径可以获取此信息 对不起
  • 适配器更新后 ListView 内容被截断

    我的用户界面中有许多垂直堆叠的面板 每个面板都包含一个 ListView 根据用户交互 ListView 中的项目数会更新 我的问题是 如果我增加 ListView 中显示的项目数量 包含面板将不会扩展以显示它们 相反 我的 ListVie
  • Sinon FakeServer 没有请求吗?

    我正在关注SinonJS假服务器教程我正在运行这个简单的代码 var server before function server sinon fakeServer create after function server restore i
  • C# 异常仅在调试时捕获? [复制]

    这个问题在这里已经有答案了 可能的重复 发布模式下的异常处理问题 我怀疑对此有一个非常简单的解释 但我似乎找不到它 当我的 WinForms C 4 0 应用程序将自身加载到 Program cs 文件中时 整个 Main 函数内部都有一个
  • 检测 python 图中的峰值

    我的数据文件在以下链接中共享 我们可以使用以下脚本绘制这些数据 import matplotlib as mpl import numpy as np import matplotlib pyplot as plt import matpl
  • 将数据读入二维数组?

    我正在尝试将数据文件读入二维数组 例如 file dat 1 2 3 a 4 5 6 b 7 8 9 c 我尝试过类似的东西 file open file dat r var var append j for j in i split fo
  • 有某种方法可以处理 ASMX 服务后面的异步/等待吗?

    我有一个 Web 应用程序 提供 JSON 的 WCF REST API 和 ASMX Web 服务 该应用程序已经存在几年了 它基于 ASP NET 2 0 但几年前升级到 NET 4 0 我刚刚升级到 NET 4 5 以便能够使用新的异
  • FFT 需要多少 FLOPS?

    我想知道有多少FLOPS执行快速傅立叶变换 FFT 所以 如果我有一个1的维数数组N浮点数 我想计算这组数字的FFT 有多少FLOPS需要执行吗 我知道这取决于所使用的算法 但是最快的可用算法又如何呢 我还知道 FFT 的缩放比例为N lo
  • 在 R 图形的图例中包含小表格

    我正在绘制按国家 地区分组的公司销售额的点图 所以我的代码是dotchart sales labels company groups country data mydata 我还创建了一个按国家 地区划分的平均销售额表 有什么方法可以将此表
  • laravel 无法为序列化准备路线...。使用闭包

    当我清除 Laravel 5 2 项目中的缓存时 我看到以下错误消息 逻辑异常 无法准备用于序列化的路线 面板 使用闭包 我认为这与路线有关 Route get article slug Front slug 与我的控制器中的特定方法相关联
  • 用于人类友好的相对日期格式的Javascript库[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想以人类友好的格式显示一些相对于当前日期的日期 人类友好的相对日期的示例 10 秒前 20 分钟后 1天前 5 周前 2个月前 基本上忠实地保留了
  • 如何以编程方式构建带有表单和用户控件的 System.Web.UI.Page?

    我有这个代码 public static string RenderView string path Page pageHolder new Page UserControl viewControl UserControl pageHold