Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 下拉列表根本不验证,必须是另一个值,但为0_C#_Jquery_Webforms - Fatal编程技术网

C# 下拉列表根本不验证,必须是另一个值,但为0

C# 下拉列表根本不验证,必须是另一个值,但为0,c#,jquery,webforms,C#,Jquery,Webforms,我试图验证一个下拉列表,它被创建了多次,所以我使用了一个类选择来通过代码找到它。但验证不起作用;先前的开发人员创建了select in代码,该代码列在第二个代码块中。我需要的是确保在他们单击submit按钮时选中除元素0以外的任何元素 这是使用该功能的按钮 <asp:Button ID="ibutReturn" runat="server" Text="Return to Requested Uplifts" class="Uplifts_button_small" Visible="fa

我试图验证一个下拉列表,它被创建了多次,所以我使用了一个类选择来通过代码找到它。但验证不起作用;先前的开发人员创建了select in代码,该代码列在第二个代码块中。我需要的是确保在他们单击submit按钮时选中除元素0以外的任何元素

这是使用该功能的按钮

<asp:Button ID="ibutReturn" runat="server" Text="Return to Requested Uplifts" class="Uplifts_button_small" Visible="false"  />
但问题是验证根本没有启动,即使它在DocumentReady函数中。我知道这可能不是处理此类验证的最佳方式,但这是我必须处理的,因为它们不会仅仅为了快速修复而改变

  strReasonDDL = ""
      ReasonURL = RowID & "_R1_"

      Reason &= "<select class=""ddlReason"" id=""" & Trim(oDataRow2("Product")) & """> "
      Reason &= "<option value=0>-- Reason --</option>"
      For Each oDataRow3 In oReasons.Rows
          If Trim(oDataRow3("rowid")) = Trim(oDataRow2("ReasonID")) Then
              Reason &= "<option selected=""selected"" value= " & ReasonURL & Trim(oDataRow3("rowid")) & ">" & Trim(oDataRow3("uplift_reason")) & "</option>"
          Else
              Reason &= "<option value= " & ReasonURL & Trim(oDataRow3("rowid")) & ">" & Trim(oDataRow3("uplift_reason")) & "</option>"
          End If
          Next
              Reason &= "</select>"
strReasonDDL=“”
ReasonURL=RowID&“\u R1\uu1”
原因&=“”
原因&=“--原因--”
对于oReasons.行中的每个oDataRow3
如果Trim(oDataRow3(“rowid”)=Trim(oDataRow2(“ReasonID”)),则
原因&=“修剪(oDataRow3(“提升原因”)&”
其他的
原因&=“修剪(oDataRow3(“提升原因”)&”
如果结束
下一个
原因&=“”

我认为您不应该使用Ready方法来运行自定义验证,它应该通过

Page_ClientValidate();
…调用javascript。你也可以打电话给

Page_ClientValidate("MyValidationGroup");
…仅用于验证特定控件。我认为,这可以在Ready方法期间调用,尽管您可能希望检查控制台输出是否有任何错误,但我已经做了一段时间了

这当然与所有asp.net验证控件一起使用,如下所示:

<asp:CustomValidator ID="AnyOldId" ClientValidationFunction="MyJavascriptMethodName" ErrorMessage="Please enter a time" ControlToValidate="MyTextbox" runat="server" Display="Dynamic" ValidateEmptyText="true ValidationGroup="MyValidationGroup"/>

如前所述,他们不允许我更改代码,因为很多销售都通过网站进行,因为我是否确认Ready方法确实达到了预期效果?处理
窗口可能是个好主意。onload
处理程序而不是使用jQuery Ready方法。这是因为它将等待页面的所有内容加载完毕。
<asp:CustomValidator ID="AnyOldId" ClientValidationFunction="MyJavascriptMethodName" ErrorMessage="Please enter a time" ControlToValidate="MyTextbox" runat="server" Display="Dynamic" ValidateEmptyText="true ValidationGroup="MyValidationGroup"/>