【发布时间】:2013-04-10 09:36:40
【问题描述】:
这是示例页面的格式:
*Validation Summary*
Label : [input]
Label : [input]
###############
# RadGrid #
###############
###############
# RadGrid #
###############
Label : [input]
[save button]
第一个版本:
- 当我按下保存按钮时,整个页面会重新加载。验证摘要填充了错误(或没有),错误的输入以红色显示。
- 当我打开一个 RadGrid(自定义编辑模板)时,整个页面重新加载并且保存按钮被停用。
- 问题 :当我们打开一个网格时,整个页面会重新加载,而且呃……不是客户想要的……?
第二版:
- 我们在 radgrids 周围放置了 radAjaxPanel,因此当您打开一个网格时,只有该网格会重新加载。 问题:保存按钮不再停用。
- 如果我单击保存按钮,整个页面仍会重新加载。
第三版:
- 我们在保存按钮中添加了一个 radAjaxPanel,并在打开或关闭 RadGrid 时添加了一行(见脚注)以重新加载此 radAjaxPanel
- 现在按钮已正确激活/停用。
- 问题:当我按下保存按钮时,只有按钮重新加载,如果某些字段有错误,它们不会变成红色。验证摘要仍然有效。
第四版:
- 添加了一行(脚注)以在按下保存按钮时重新加载整个页面。
- 现在错误字段变为红色
- 问题:这个额外的回发使验证摘要消失。
那么,我有什么想法可以让所有这些选项协同工作吗?
最简单的方法是说服客户放弃 radAjaxPanel(因为我觉得我们无论如何都错误地使用了它们,而且它带来的优势很小)。
整个项目架构有些复杂(我们模拟 .net mvc 和 webforms (!)),我觉得代码只会给问题增加混乱,但如果你认为某些特定部分会需要更多详细信息/代码,请随时询问。
MainRadAjaxPanel.ResponseScripts.Add(string.Format("$find('{0}').ajaxRequest();", MainRadAjaxPanel.ClientID));
【问题讨论】:
标签: ajax telerik radgrid validationsummary