Halloj!
Min aspx-sida funkar prima i IE men när jag tittar i Netscape 6.0 funkar inte verifieringskontrollerna.
Vad göra?
8 svar · 197 visningar · startad av piddy
Halloj!
Min aspx-sida funkar prima i IE men när jag tittar i Netscape 6.0 funkar inte verifieringskontrollerna.
Vad göra?
När inte webbläsarn har stöd på clientsidan för DHTML som används för varifierings funktionerna så bör det köras på server sidan så dina problem bör inte uppstå.
det är märkligt, för sidan brister just på verifieringspunkten (och så ser layouten rätt skum ut också - förskjutning i tabeller etc.).
är jag som användare så duktig så att jag fyller alla kontroller med rätt info är det inget problem, då skickas infon iväg till databasen.
eller vänta nu jag har ju använt mig av en vanlig
<asp:RequiredFieldValidator > även till de kontroller som är bundna med info från databasen...kan det påverka??
Märkligt isåfall att det funkar i I.E
Eftersom RequiredFieldValidator som sagt genererar DHTML-kod och JavaScript-kod för att kolla om formuläret är ifyllt kan det uppstår vissa problem i olika webbläsare.
Försök att göra om din kod så att du kollar formuläret på servern istället för i webbläsaren, det fungerar garanterat felfritt i alla webbläsare.
Hur gör jag det?
Precis som renholm skriver så vet den automatiskt om din browser klarar av java/dhtml (och då skickar den ut en sida med kod som verifierar kontrollerna på klienten, ingen postback krävs) eller om den inte gör det (då verifieras kontrollerna på servern, postback krävs).
NS6 ska inta ha några problem med dhtml och java och kontrollerna ska därför verifieras på klienten. Det har fungerat för mig utan att jag behövde göra några speciallösningar, allt sker automatiskt. Men det vet ju alla :) att ns6 är en av de sämsta webbläsarna i världshistorien (netscape verkar ju dock komma igen med ns7 som verkar riktigt bra).
Det går att "tvinga" validationcontrols att verifiera på servern alltid, men det är ju ingen bra lösning. Exakt hur ser koden ut?
Min kod...
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<%@ Page Language="VB" %>
<script runat="server">
sub Page_Load(obj as Object, e as Eventargs)
if Not Page.IsPostBack then
Bind()
end if
end sub
sub Bind()
dim objForfattare as new OleDbDataAdapter ("SELECT * FROM Forfattare ,oConn)
dim ds = new DataSet()
objForfattare.Fill(ds, "Forfattare")
'binder dropdownlisten Signatur med data
DDLSignatur.DataSource = ds.Tables("Forfattare")
DDLSignatur.DataTextField = "Namn"
DDLSignatur.DataValueField = "ForfattarID"
DDLSignatur.DataBind()
end sub
'lite andra funktioner
sub Sumit (obj as Object, e as Eventargs)
'insert-query
end sub
html-exempel:
<asp:DropDownList id="DDLSignatur" runat="server" />
<asp:RequiredFieldValidator Runat="server" ControlToValidate="DDLSignatur" ErrorMessage="Välj Signatur" Display="Static" InitialValue="Välj" Font-Size="8" Font-Name="Arial" />
Finn fem fel???
.. i Mozilla, Netscape och Opera funkar mina valideringskontroller inte, sidan fungerar enbart om jag verkligen anger rätt data.