【问题标题】:ValidatorCalloutExtender not displaying in GridviewValidatorCalloutExtender 不在 Gridview 中显示
【发布时间】:2011-06-08 11:48:02
【问题描述】:

标题不言自明,但情况就是这样。 我有一个带有 2 个网格视图的页面。 第一个用于搜索您要使用的产品。这些文章可以添加到其他gridview。 第二个 gridview 包含所有带有文本框的选定项目,用户可以在其中更改他们想要使用的数量。

现在问题来了,我在文本框中添加了一个验证器,以确保数量不高于库存中的可用数量。

我将 ValidatorCalloutExtender 添加到此验证器。每当导致验证时,都不会显示该消息。验证器之所以有效,是因为在将金额更改为正确值之前,我无法走得更远。

我用来自定义 ValidatorCalloutExtender 的 css 类适用于我的所有其他页面。在网格视图中不使用它的地方。

在gridview的editTemplate中不使用时,有什么方法可以使这项工作?

【问题讨论】:

    标签: asp.net gridview ajaxcontroltoolkit validation


    【解决方案1】:

    我假设它由于ValidationGroup 而无法正常工作。对于所有 GridView-Rows,它应该是唯一的。例如,这可以通过使用 GridView 的 RowDataBound 事件以编程方式设置它来实现:

    protected void GridView1_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
    {
          if (e.Row.RowType == DataControlRowType.DataRow)
          {
                TextBox tbx = (TextBox)e.Row.FindControl("MyTextBox");
                RequiredFieldValidator rfv = (RequiredFieldValidator)e.Row.FindControl("MyReq");
                string validationGroupText = "ValidationTest" + (e.Row.DataItemIndex + 1).ToString();
                tbx.ValidationGroup = validationGroupText;
                rfv.ValidationGroup = validationGroupText;
          }
    }
    

    【讨论】:

    • 嗯,它看起来现在正在工作。我的验证器一定有问题。在我更深入地研究了这件事之后,我设法让它发挥作用。现在我只需要确保始终检查验证。我想我需要摆脱我的分页。不确定。
    猜你喜欢
    • 2016-02-01
    • 2018-05-31
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多