![]() |
1
12
mmilic,从开始 your response 对我 previous idea … 不需要额外的逻辑!这就是重点,您对所讨论的类不做任何事情,只需将它们包装在一些实例化气泡包装中!:) 好吧,我本来想说重点,但我想亲眼看看,所以我拼凑了一些 非常 粗略的代码,但概念是存在的,它似乎是工作的。 为长篇文章道歉 保险柜这基本上就是我提到的“气泡”。它将获取控件HTML,捕获呈现期间发生的任何错误。
还有一些控制……好的,我只是在这里模拟了两个控件,一个将抛出,另一个将呈现垃圾。说吧,我一点也不在乎。这些将替换为自定义控件。 不良控制
良好控制
页面好的,让我们看一下“测试”页面。在这里,我简单地实例化控件,获取它们的HTML并输出它,接下来我将讨论设计器支持等问题。 页面代码隐藏
思想好吧,我知道你在想什么,“这些控件是程序化实例化的,那么设计师支持呢?我花了好几个小时为设计师设计这些控件,现在你在玩弄我的魔力了”。 好吧,所以我还没有真正测试过这个(可能会在一分钟内完成!)但这里的想法是重写页面的createChildControls方法,并获取表单上添加的每个控件的实例,并通过安全加载程序运行它。如果代码通过,您可以正常地将其添加到控件集合中,如果没有,那么您可以创建错误的文本或其他内容,这取决于您本人的朋友。 最后…再次,对这篇长文章表示抱歉,但我想在这里获取代码,以便我们讨论这个问题:) 我希望这有助于证明我的想法:) 更新通过将控件放入设计器中并用此重写CreateChildControls方法进行测试,工作正常,可能需要进行一些清理以使事物看起来更好,但我将把它留给您;)
享受! |
![]() |
2
4
这是一个有趣的问题。当涉及到自定义控件等时,我还是很新鲜的,但这里是我的想法(请随意评论/纠正他人!)…(我在这里有点想/写得很大声!)
只是我的想法,火焰远离!D); |
![]() |
3
1
根据错误发生的位置,您可以执行以下操作…
然后继承silenterrorcontrol而不是usercontrol。 |
![]() |
4
0
global.asax和应用程序错误? http://www.15seconds.com/issue/030102.htm 或者只在单个页面上显示页面错误事件: http://support.microsoft.com/kb/306355
还有,卡尔·塞古(你好,卡尔!)改为使用httphandler: http://codebetter.com/blogs/karlseguin/archive/2006/06/12/146356.aspx (不知道允许复制什么,但是如果你想写一个答案,你得到了我的赞成票) |
![]() |
5
0
如何添加一个新的UserControl子类,该类错误处理它的呈现和加载方法(以便它们根据您的需要隐藏),然后为您的用户控件继承这些方法? |
![]() |
6
0
我不确定我明白 your response …如何加载控件并将其添加到控件集合中? 这就是在“更新”部分中添加的位的全部内容。您可以灵活地使用 保险柜 你想去哪儿都行。 我不知道为什么你觉得你没有对HTML的访问/控制权?安全加载器的目标是你不 照顾 HTML是什么,您只需尝试“输出”控件(在“气泡”中),并确定它在当前状态下是否加载正常。 如果是这样(即返回HTML),那么您可以使用它做您喜欢的事情,输出HTML,将控件添加到控件集合中,无论什么! 如果不是,那么您可以做您喜欢做的事情,呈现一条错误消息,抛出一个自定义异常。选择权属于你! 我希望这有助于你澄清问题,如果没有,请大喊:) |
![]() |
7
0
我使用了@keith的方法,但问题是在抛出异常之前呈现控件,这可能会导致打开的HTML标记。如果处于调试模式,我还将在控件中呈现异常信息。
|
|
lfox · 如果列中不存在某个值,则停止代码执行 2 年前 |
![]() |
zaen · 将值传递到异常字符串消息中 2 年前 |
![]() |
Zephyr · 如何在双ListView选择系统上实现过滤器? 6 年前 |
![]() |
Aave · 错误数组长度的特定异常 6 年前 |