Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > DropDownList kontrol etmek
Yazar
anariso


avatar
istanbul
Kayıt: 16.02.2012
16.02.2012-22:07 #77226
dropDownList içinde aşağıdaki gibi seçeneklerim var:
SEÇİNİZ
1.SINIF
2.SINIF


gönderme işlemi olunca dropDown'un değeri "SEÇİNİZ" ise bunu kontrol edip validation ile veya bir şekilde mesaj verdirmek istiyorum.


veya genel manada dropDownList içindeki ilk görünen verinin "seçiniz" gibi bir değer olması ve bunun dışındaki bir seçeneğin seçilmesi halinde işlemin doğru olmasını istiyorum.


RequiredFieldvalidator denedim ama sonuçta kutu içinde "seçiniz" değeri default geldiği için boş değil kabul ediyor ve hata vermiyor.





Yazar
mrcan321


avatar
Mersin
Kayıt: 27.07.2007
16.02.2012-23:27 #77227
if ( dropdownlist.selectedindex != 0) yı neden denemiyorsun?






Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
16.02.2012-23:45 #77228
hatırladığım kadarıyla o validatorun property si olacak integer string vs.. gibi onlardan biri bu dediğini yapıyor.





N/A
Yazar
anariso


avatar
istanbul
Kayıt: 16.02.2012
17.02.2012-00:11 #77230
mrcan321 yazdi
 
if ( dropdownlist.selectedindex != 0) yı neden denemiyorsun?


bunu aşağıdaki şekilde denedim ama şöyle bir hata alıyorum :

'DropDownList1' adı bildirilmemiş.

şöyle yazdım fonksiyonu;
<script type="text/javascript">
function validateDropDown(source, args) {
var DropDownList1 = document.getElementById('<%= DropDownList1.ClientID %>');
args.IsValid = (DropDownList1.selectedIndex != 0);
} </script>

sayfa içindeki dropDown kodum da şöyle:

<asp:DropDownList ID="DropDownList1" runat="server"
SelectedValue='<%# Bind("sinif") %>'>
<asp:ListItem>SEÇİNİZ</asp:ListItem>
<asp:ListItem>1-A</asp:ListItem>
<asp:ListItem>2-A</asp:ListItem>
</asp:DropDownList>
&nbsp;<asp:CustomValidator ID="vldValidateDropDown" runat="server"
ClientValidationFunction="validateDropDown" ErrorMessage="Hatalı seçim"
ControlToValidate="DropDownList1"></asp:CustomValidator>





Yazar
cokomastik


avatar

Kayıt: 14.09.2008
17.02.2012-00:31 #77231
pardon yanlış görmüşüm.





Yazar
mrcan321


avatar
Mersin
Kayıt: 27.07.2007
17.02.2012-00:32 #77232
 


args.IsValid = (DropDownList1.options[DropDownList1.selectedIndex].Value != 0);



böyle denesen.





Yazar
anariso


avatar
istanbul
Kayıt: 16.02.2012
18.02.2012-16:45 #77235
mrcan321 yazdi
 
 


args.IsValid = (DropDownList1.options[DropDownList1.selectedIndex].Value != 0);



böyle denesen.

------------------------

denedim, ama çalışmıyor.
sayfam aynen şöyle:

<script type="text/javascript">
function Validate(source, args) {
var DropDownList1 = document.getElementById('<%= DropDownList1.ClientID %>');
args.IsValid = (DropDownList1.options[DropDownList1.selectedIndex].Value != 0);

} </script>

</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="0">Seçiniz</asp:ListItem>
<asp:ListItem Value="1">1.SINIF</asp:ListItem>
<asp:ListItem Value="2">2.SINIF</asp:ListItem>
<asp:ListItem Value="3">3.SINIF</asp:ListItem>
</asp:DropDownList>

<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="Seçiniz" ClientValidationFunction="Validate"
ControlToValidate="DropDownList1" ValidateEmptyText="True"></asp:CustomValidator>

<asp:Button ID="Button1" runat="server" Text="gönder" />

</div> </form></body> </html>





Yazar
mstf


avatar
istanbul
Kayıt: 06.01.2012
18.02.2012-23:43 #77236
asp den pek anlamam ama şöyle birşey yapabilirsin

var DropDownList1 = document.getElementById('<%= DropDownList1.ClientID %>').value;
if(DropDownList1=="0"){

alert("Tüm alanları adam gibi doldurun :@");
return false;
}

bu kodu js fonksiyonuna ekleyip form submite tıklayınca bu fonksiyonu çağırabilirsin










Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
20.02.2012-03:35 #77242
javascript'le kontrol etmek zorunda değilsin bu arada,
updatepanel içine bunları koyar, paneli de dropdown.selectedindexchanged eventini yakalayacak şekilde ayarlarsan kullanıcı listeden bir eleman seçtiği anda cs/vb kodunun içinde ddl.selectedvalue == 0 ile kontrol edebilirsin. (mesela.)





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
anariso


avatar
istanbul
Kayıt: 16.02.2012
20.02.2012-10:33 #77244
tamamdır, teşekkürler...





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb