简体   繁体   English

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

[英]How to dynamically add MaximumValue for RangeValidator in GridView using c#?

I have this RangeValidator 我有这个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") %>' />

Now i want calculate max marks in c# in then assign that to MaximumValue of the RangeValidator. 现在我想在c#中计算最大标记,然后将其分配给RangeValidator的MaximumValue。 How can I do this? 我怎样才能做到这一点?

You can set the MaximumValue property in code behind with the expression you want. 您可以在代码中使用所需的表达式在后面设置MaximumValue属性。

MarksValidation.MaximumValue = expression;

Example: 例:

MarksValidation.MaximumValue = 50*SomeValue;

Edit, based on comments, as validator is in GridView 根据验证进行编辑,因为验证器位于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"));;

   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM