我在Master页面的Render事件中有一些代码需要在每次回发时运行,因为它用于翻译某些HTML内容。但是,当我使用UpdatePanel和部分渲染设置为true的ScriptManager时,事件似乎不会在回发时触发。我可以强制触发事件,还是可以在其他地方运行我的代码以产生相同的结果?
protected override void Render(HtmlTextWriter writer)
{
string originalContent = String.Empty;
string translatedContent = String.Empty;
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
base.Render(htw);
htw.Close();
originalContent = sw.ToString();
}
}
// Translate content:
translatedContent = ApplyGlobalization(Page, originalContent);
// Write updated HTML:
writer.Write(translatedContent);
}
答案 0 :(得分:0)
通过使用Render重写创建我自己的UpdatePanel解决了这个问题。我将相同的代码放入该方法,但必须进行一些更改以适应转换方法,以适应UpdatePanel在部分回发时创建的特殊输出。