【问题标题】:Combining Radgrid, RadajaxPanel, ValidationSummary and a custom "turn field in error to red" issue结合 Radgrid、RadajaxPanel、ValidationSummary 和自定义“将错误字段变为红色”问题
【发布时间】: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


    【解决方案1】:

    我建议使用RadAjaxManager 控件而不是多个RadAjaxPanelsRadAjaxManager 允许在哪些项目由哪些控件触发方面具有更大的灵活性。不幸的是,我无法就上述信息举出具体的例子,但希望这会让你指向正确的方向。您绝对可以使用RadAjaxManager 做您想做的事,并让一切正常工作。请注意 AJAX 触发器和更新,即哪些控件触发 AJAX 更新(例如您的保存按钮)以及接收相应更新的内容(您的 ValidationSummary)。

    http://www.telerik.com/help/aspnet-ajax/ajax-ajaxmanager.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 2018-09-30
      • 2013-11-24
      • 1970-01-01
      相关资源
      最近更新 更多