17. august 2006 - 10:20
Der er
11 kommentarer og 1 løsning
Problem emd rangevalidater
Hej JEg har et problem med at få vist min fejlmeddelse som jeg kalder fra codebehind.. Første gang jeg kommer ind på siden kan jeg sagtens få den vist.. men efter jeg har submitted god data og igen får vist en tom form , og så herefter indtaster dårlig data får jeg ikke lov at submitte, hvilket jo er okay , men får heller ingen fejlmeddelse.. Frontend kode <asp:RangeValidator ID="RangeValidator1" runat="server" controltovalidate="intOrderTextBox" Type="Integer" MinimumValue="1" MaximumValue="100" /> codebehind RangeValidator vIntOrder = FormView1.FindControl("RangeValidator1") as RangeValidator; vIntOrder.ControlToValidate = "intOrderTextBox"; vIntOrder.ErrorMessage = "tester"; håber der er en med en forklaring, for det er en smule mystisk :( /B
Annonceindlæg fra Computerworld it-jobbank
17. august 2006 - 10:22
#1
paste lige hele din kode
17. august 2006 - 10:29
#2
codebehind : protected void Page_Load(object sender, EventArgs e) { // Response.Write("hej"); RangeValidator vIntOrder = FormView1.FindControl("RangeValidator1") as RangeValidator; vIntOrder.ControlToValidate = "intOrderTextBox"; vIntOrder.ErrorMessage = "tester"; } html : <asp:FormView ID="FormView1" runat="server" DataKeyNames="idItem" DataSourceID="SqlDataSource1" Width="357px" DefaultMode="Insert" > <EditItemTemplate> <asp:TextBox ID="intOrderTextBox" runat="server" Text='<%# Bind("intOrder") %>' class=txtbox> </asp:TextBox> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert"> </asp:LinkButton> </td> </tr> </table> <asp:RangeValidator ID="RangeValidator1" runat="server" controltovalidate="intOrderTextBox" Type="Integer" MinimumValue="1" MaximumValue="100" /> </EditItemTemplate> </asp:FormView>
17. august 2006 - 10:33
#3
hov første linie er der en fejl.. mangler en "/" <asp:FormView ID="FormView1" runat="server" DataKeyNames="idItem" DataSourceID="SqlDataSource1" Width="357px" DefaultMode="Insert" />
17. august 2006 - 10:35
#4
okay jeg koger lige nu, glem sidste kommentar
17. august 2006 - 10:36
#5
hehe Har du et validation summary ? Ellers skal du tilføje et. du skal fjerne // Response.Write("hej"); RangeValidator vIntOrder = FormView1.FindControl("RangeValidator1") as RangeValidator; vIntOrder.ControlToValidate = "intOrderTextBox"; vIntOrder.ErrorMessage = "tester"; fra page_load
17. august 2006 - 10:37
#6
brug <asp:RangeValidator ID="RangeValidator1" runat="server" controltovalidate="intOrderTextBox" ErrorMessage="tester" Type="Integer" MinimumValue="1" MaximumValue="100" />
17. august 2006 - 10:37
#7
man validerer ikke i page_load.
17. august 2006 - 10:40
#8
jo man burde kunne gøre det derfra.. problemet er at sproget på fejlen godt kan skifte , og dette er lettere at gøre fra codebehind.. ved godt den anden tese virker
17. august 2006 - 10:41
#9
er der en anden event jeg kan kalde? synes jeg har prøvet et par stykker :(
17. august 2006 - 10:54
#10
<asp:RangeValidator ID="RangeValidator1" runat="server" controltovalidate="intOrderTextBox" ErrorMessage='<%# getErrorMsg()%>' Type="Integer" MinimumValue="1" MaximumValue="100" /> i codebehind laver du public string getErrorMsg() { Return "tester"; }
17. august 2006 - 13:21
#11
det er jo rigtigt nok det du skriver, ville gerne bare have lavet alt fra codebehind.. men smid et svar , så får du points vh B
17. august 2006 - 14:25
#12
svar :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.