如何使用 C# 在 GridView 中为 RangeValidator 动态添加 MaximumValue?
How to dynamically add MaximumValue for RangeValidator in GridView using c#?
我有这个 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。
我怎样才能做到这一点?
您可以在后面的代码中设置 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"));;
}
}
我有这个 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。 我怎样才能做到这一点?
您可以在后面的代码中设置 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"));;
}
}