Det går tydligen inte att kontrollera ett värde i DropDownList med en RequiredFieldValidator-kontroll. <code> Jupp, det funkadealldeles utmärkt det där.Kontrollera värde i DropDownList?
Finns det något lätt sätt att göra detta på?
Letade lite och hittade följande kod på The Code Project, men eftersom jag inte kan någon C# alls så ber jag nu om hjälp med att omvandla denna kod till VB.
<code>using System;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MyValidations
{
[DefaultProperty("ErrorMessage")]
public class RequiredSelectedItemValidator : System.Web.UI.BaseValidator
{
private ListControl _listctrl;
protected override bool ControlPropertiesValid()
{
Control ctrl = FindControl(ControlToValidate);
If (ctrl != null)
{
_listctrl = ctrl as ListControl;
return (_listctrl != null);
}
else
return false; // raise exception
}
protected override bool EvaluateIsValid()
{
return (_listctrl is DropDownList) ? (_lisctrl.SelectedIndex != 0) :
( _lisctrl.SelectedIndex != -1);
}
}
}</code>Sv: Kontrollera värde i DropDownList?
Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace MyValidations
<System.ComponentModel.DefaultProperty("ErrorMessage")> _
Public Class RequiredSelectedItemValidator : Inherits BaseValidator
Private _listctrl As ListControl
Protected Overrides Function ControlPropertiesValid() As Boolean
Dim ctrl As Control = FindControl(ControlToValidate)
If Not ctrl Is Nothing Then
_listctrl = DirectCast(ctrl, ListControl)
Return True
Else
Return False '' Raise exception
End If
End Function
Protected Overrides Function EvaluateIsValid() As Boolean
'' Inte vackert jag vet men jag har bråttom
If _listctrl.GetType().ToString = "System.Web.UI.WebControls.DropDownList" Then
Return _listctrl.SelectedIndex <> 0
Else
Return _listctrl.SelectedIndex <> -1
End If
End Function
End Class
End Namespace
</code>
Tror jag
MikaelSv: Kontrollera värde i DropDownList?
Man tackar och bockar djupast. :D