gpt4 book ai didi

c# - ASPX 中的动态页面呈现

转载 作者:太空狗 更新时间:2023-10-29 23:01:48 26 4
gpt4 key购买 nike

我是 C# 和 .NET 的新手,我发现自己遇到了一个问题,我不确定我需要朝哪个方向前进。

我的公司使用第三方订阅履行系统来实现许多功能,包括计费和续订。该系统具有在触发某些事件时自动发送电子邮件的功能。例如,每个订阅都会经历我们所说的续订系列。本系列包含贯穿整个订阅生命周期的多项努力。

当订阅符合本系列的特定工作条件时,我们可以生成一个事件,该事件将导致系统将 HTTP POST 请求发送到具有 XML 负载的给定 URI。端点(.aspx 页面)接收请求、处理请求并返回响应,在本例中为 HTML 代码。该 HTML 然后由履行系统通过电子邮件发送出去。

我有一个基本的 Web 应用程序,其中有几个 .aspx 页面已启动并正在运行。每个页面都有一个对应的 .cs 代码隐藏文件。

这是我的问题真正开始的地方。在我们的履行系统中,我们只能为每个事件和产品的组合定义一个端点。因此,无论订阅当时符合哪种努力,事件本身都是相同的。不过,不同的是 HTTP POST 请求的 XML。正是在该 XML 中,我可以判断生成请求的目的是什么。之所以重要,是因为相应电子邮件的 HTML 对每个工作都是不同的。换一种稍微不同的方式来说,应该呈现的 HTML 从上到下是不同的,努力 1 与努力 2 不同。努力 2 不同于努力 3,依此类推。

所以,我想弄清楚的是如何“引导流量”。由于所有这些请求都将到达一个端点,因此我需要为相应的工作动态返回正确的 HTML。

在同一应用程序的不同 .aspx 页面中,有一些内容需要根据请求的内容动态生成。在这种情况下,我使用了两个 PlaceHolder 控件,每个控件对应一组可能的文本。然后,在后面的代码中,根据需要将它们的 Visible 属性设置为 true 或 false。

我很早就打消了在这种情况下这样做的想法,因为有五六个 HTML 模板,将它们全部塞进一个页面会很困惑并且难以维护。

这就是我不知道下一步该做什么的地步。我有一种感觉,用户控件或自定义控件将成为可行的方法?但是,普通的旧重定向是更好的选择吗?或者以上都不是?

最佳答案

您拒绝的解决方案与正确的解决方案非常接近。但是,您可以采取一些措施来简化它并使维护更容易。

我们在这里要做的是为每项工作构建自定义控件或用户控件。这将使您可以单独维护各项工作的代码,而无需将所有内容混合在一个地方。然后您的整个端点 *.aspx 页面由一个占位符控件组成。处理请求时,您的 Page_Load 方法将解析您的 xml 并确定您需要什么样的努力。然后它将创建适当控件的新实例,将其添加到占位符,并将其余数据传递给控件以完成处理。

因为这里的所有控件之间有一些共性(接收 xml 消息的能力),您可能首先还想创建一个基本控件,供各个工作量控件继承。

关于c# - ASPX 中的动态页面呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com