0

代码语言 = VB。ASP.NET 4.0

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

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

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

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

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

4

1 回答 1

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 事件中。

于 2012-10-25T21:01:02.897 回答