【问题标题】:Validate Dropdown list selected value > 0 if asp.net form textbox.text >0如果 asp.net 表单 textbox.text >0,则验证下拉列表选定值 > 0
【发布时间】:2012-10-25 19:47:13
【问题描述】:

代码语言 = VB。 ASP.NET 4.0

我的页面上有一个 formview 控件,默认为插入模式,因此当页面加载时,您唯一能做的就是插入一条记录。我有一个默认为“无”值的绑定下拉列表..这可以归类为休假类型..然后我旁边有一个文本框归类为小时..

我想验证是否有人在文本框输入时间,他们必须从下拉列表中选择一个值。

一旦我走到这一步,我就必须重复三次,所以我想找到一种方法来编写控件,无论是分组还是引用多个控件。

如果 txtbox1.text > 0 那么 dropdownlist1.selected 的值必须 >0

从那里开始我可能会很接近,但我发现使用 formview 控件在 asp 中工作有点难以真正找到控件。我必须使用以下语句来处理任何令人痛苦的控件 directcast(formview1.findcontrol("textbox1"), textbox).text

【问题讨论】:

    标签: asp.net vb.net jquery-validate validation html-select


    【解决方案1】:

    为了更容易:做这样的事情:

    With formview1
        Dim txtbox1Value as string = directcast(.findcontrol("textbox1"),textbox).Text
        Dim dropdownlist1Value as string = directcast(.FindControl("dropdownlist1"), DropDownList).SelectedValue
        if txtbox1Value > "0" Then
           if dropdownlist1Value <= "0" Then
               ' Error
           End If
           If dropdownlist1Value >= "100" Then
               ' Another error
           End If
        End If
        ' etc.
    End With
    

    想法:预先以方便的形式获取您需要测试的所有值,然后实现您的逻辑。这将使你的逻辑更简单,因为你不会被你必须做的寻找和铸造分心。

    实际上,您可以将所有这些都包装在 CustomValidator 的 ServerValidate 事件中。

    【讨论】:

    • 不熟悉 servervalidate 事件。让我做一些研究,然后再回复你。但是.. 您的 with 事件如上所述。你认为那会去哪里?
    • 阅读后我看到这是基于服务器端验证的。我不希望这是客户端吗?如果是或不是。您或其他人能否解释一下原因
    • 当然。我只做了服务器端,因为你包含了代码 sn -p directcast(formview1.findcontrol("textbox1"), textbox).text,它是服务器端的。
    • 您可以执行以下任何操作: 为 CustomValidator 控件编写客户端验证脚本;从头开始编写自定义验证器,包括客户端代码;在 jQuery 或类似框架中编写您自己的验证例程。
    • 这是正确的步骤,但现在出于某种原因,我的文本框正在为我最初设置的值返回 0。另一个问题.......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多