我在表单上有一个字段,允许用户输入0到5000之间的数字
我尝试了3种不同的方法,但是当我输入的数字都大于5000时,对于这三种方法,都可以接受我的表单提交,这种情况不应该发生:
方法1:
<asp:CustomValidator ControlToValidate="price" runat="server" ID ="inrange"
ErrorMessage="Must not exceed 5k"
OnServerValidate="lessThan5k">
</asp:CustomValidator>
这个代码在后面的代码中
protected void lessThan5k(object sender, ServerValidateEventArgs e)
{
if (Convert.ToInt32(price.Value) < 5000)
{
e.IsValid = true;
}
else
{
e.IsValid = false;
}
}
方法2:
<script type="text/javascript">
var listen = document.getElementById("price");
listen.addEventListener("input", function () {
var value = new parseInt(price.Value);
if (value > 5000) {
price.setCustomValidity("must not exceed 5000");
} else {
price.setCustomValidity("");
}
});
</script>
最后但并非最不重要的方法3:
限制表单字段的数字范围的正确方法是什么?
参考方案
使用RangeValidator。将其从工具箱中拖放到页面设计中。
设置以下属性:
ControlToValidate->您的文本框ID
类型->整数(以便将其视为整数)
最小值-> 0
最大值-> 5000
如果即使值未通过验证也不会发布表单,则设置EnableClientScript = false
,以便仅在服务器端发布并验证。
请记住,如果您不想允许空条目,则还需要使用RequiredFieldValidator
。
好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…
ddl在服务器中未更新-asp.net - javascript我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……
单击选项卡链接时,请专注于每个引导选项卡中的First asp:textbox - javascript我是开发的新手,并开始开发简单的asp.net应用程序。我正在使用每个都有一些asp标签和文本框的bootstrap选项卡。单击该选项卡时,我要重点关注选项卡内容中的第一个文本框。我搜索了各种答案,但都是针对输入字段的(exp:输入type =“ text”)。找不到适用于ASP文本框的任何内容。任何帮助将不胜感激。谢谢 javascript参考方案 ASP…
ASP.NET-如何更改JSON序列化的方式? - javascript我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …
ASP.NET MVC中应为DataTable返回哪种数据? - javascript我想为DataTable中的每个页面创建动态加载信息。我正在尝试遵循以下示例:https://www.datatables.net/manual/server-sidehttps://www.datatables.net/manual/data来自示例的代码:$('#example').DataTable( { serverSide: t…