如何使用c#在GridView中为RangeValidator动态添加MaximumValue?

时间:2015-03-07 06:49:30

标签: c# asp.net gridview

我有这个RangeValidator

    <asp:RangeValidator ID="MarksValidation" runat="server" ErrorMessage="Invalid marks" ValidationGroup="Validation" Type="Integer" ControlToValidate="subject_marks" MinimumValue="-1" MaximumValue='' ></asp:RangeValidator>
<asp:TextBox ID="subject_marks" ControlStyle-CssClass="wide" runat="server" Text='<%# Eval("subject") %>' />

现在我想在c#中计算最大标记然后将其分配给RangeValidator的MaximumValue。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用所需的表达式在代码后面设置MaximumValue属性。

MarksValidation.MaximumValue = expression;

示例:

MarksValidation.MaximumValue = 50*SomeValue;

根据评论编辑,验证工具在GridView中

protected void gvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
       RangeValidator rv = (RangeValidator)e.Row.FindControl("MarksValidation");
       rv.MaximumValue = 50*Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "ColumnFromDatabase"));;

   }
}