动态控制问题
大家好,
我想创建一些动态控件,并让它们在页面加载中保持其viewstate.够容易吧?我所要做的就是在每次加载页面时使用相同的ID重新创建控件.但是,这是捕获 - 在我的PreRender事件中,我想要清除控件集合,然后使用新值重新创建动态控件.造成这种情况的原因很复杂,我可能需要大约一页来解释我为什么要这样做.所以,为了简洁起见,让我们假设我绝对必须这样做,而且别无他法.
在我的PreRender事件中重新创建控件后,问题出现了.重新创建的控件永远不会绑定到视图状态,并且它们的值不会跨页面加载持续存在.我不明白为什么会这样.我已经在我的OnLoad事件中重新创建了控件.当我这样做时,新创建的控件绑定到ViewState就好了,前提是我每次都使用相同的ID.但是,当我尝试在PreRender事件中执行相同的操作时,它会失败.
无论如何,这是我的示例代码:
namespace TestFramework.WebControls {
public class ValueLinkButton : LinkButton
{
public string Value
{
get
{
return (string)ViewState[ID + "vlbValue"];
}
set
{
ViewState[ID + "vlbValue"] = value;
}
}
}
public class TestControl : WebControl
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Controls.Clear();
ValueLinkButton tempLink = null;
tempLink = new ValueLinkButton();
tempLink.ID = "valueLinkButton";
tempLink.Click += new EventHandler(Value_Click);
if (!Page.IsPostBack)
{
tempLink.Value = "old value";
}
Controls.Add(tempLink);
}
protected override void OnPreRender(EventArgs …Run Code Online (Sandbox Code Playgroud) 有人问过类似的问题:MSDN订阅便宜吗?,但我对提供的解决方案不感兴趣:
我们有一些操作,我们正在进行大量的大型字符串连接,并且最近遇到了内存不足异常.不幸的是,调试代码不是一种选择,因为这是在客户站点发生的.
因此,在研究代码的大修之前,我想问一下:对于大型字符串,StringBuilder的RAM消耗特性是什么?
特别是它们与标准字符串类型相比.字符串的大小超过10 MB,我们似乎遇到了大约20 MB的问题.
注意:这不是速度而是RAM.
我想从网站页面只打印textarea元素的内容.特别是,我想确保没有任何东西被textarea的边界剪切,因为内容将非常大.
解决这个问题的最佳策略是什么?
我正在调查他们两个,虽然我对前任雇主的NetAdvantage非常满意,但我发现价格点(以及最好的winform UI组件集的推荐书?)让我犹豫并考虑DXExperience .
那就是说,我想知道:
这是针对WinForms的 - 也是最后一个问题:
注意:这不是为了引发一场火焰战争,我对经验感兴趣,并提出务实的建议.
我注意到我的特定Trac实例没有快速运行并且有很大的滞后.这是一个项目的开始,所以在Trac中并不多(除了加载到SVN中的插件和代码).
设置信息:这是通过WebFaction托管的SELinux系统实现的.它落后于Apache,连接通过SSL.目前.htpasswd文件是我用来控制访问的文件.
有没有推荐的方法来改善Trac的性能?
特别是,我感兴趣的是:1)建立一个免费的环境设置来完成工作流程.2)如何使用现有的工作流程项/状态以及涉及的内容.
谢谢!
.net ×2
asp.net ×1
c# ×1
controls ×1
dxperience ×1
dynamic ×1
infragistics ×1
javascript ×1
msdn ×1
netadvantage ×1
performance ×1
printing ×1
python ×1
ram ×1
textarea ×1
trac ×1
viewstate ×1
winforms ×1