为什么翻译Gridview Linkbutton Text在更新面板上的异步回发上失去了它的价值

时间:2014-12-04 18:01:04

标签: asp.net webforms updatepanel

我已经实现了一种方法,可以从数据库的值中翻译ASP.NET页面的所有可能标签和链接按钮等。标签等具有硬编码的文本值作为后备,并且在运行时将被翻译。

我做的是基本上写了一个BasePage,每个页面都继承了这个。我覆盖了递归查找所有必需控件的Page_Load方法,然后更改了文本。我了解到我必须使用Page_Load,因为如果我使用LinkButton On_Init,则标题On_InitCompleted文字未被翻译。

然而,只要我没有点击LinkButton列上的GridView,这就可以正常运行。这会触发一个回溯(异步),它会遍历我的所有翻译代码。但是看看页面,我看到它们又回到了网格视图上的硬编码后备文本标题(只有gridview标题)。我很确定这是页面生命周期舞蹈的一部分,但无法解决它。

我希望在BasePage中拥有所有翻译逻辑,而不是订阅任何GridviewEvents并更改绑定等标签。

通过更新面板的异步回发保留gridview标头的转换会很有帮助。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我来回实验并决定不在开头但在页面生命周期结束时进行翻译。 因此,我现在在Page_Log覆盖中进行翻译而不是On_PreRenderCompleted。 立即行动!