2017-07-08 3 views
2

Ich habe ein einfaches Steuerelement erstellt, das ein Update-Panel mit einem Button-Klick-Trigger und ja einen Skript-Manager über dem Steuerelement verwendet. Klicken Sie auf die Schaltfläche und ein Label wird mit der aktuellen Zeit aktualisiert und dies hat für 6 Jahre funktioniertupdate panel webcontrol erforderliches Formularfeld

Heute habe ich die Seite geändert, um mit Bootstrap reagiert werden, aber das ist irrelevant für diese Frage.

Das Steuerelement wurde zu einer Seite mit Beschriftungen und Textfeldern hinzugefügt (einfache Form mit Vorname/Nachname).

<asp:TextBox ID="txtFirstName" runat="server" CssClass="form-control input-lg" Placeholder="Your First Name" MaxLength="20" Required="true"></asp:TextBox> 

Wenn ich entfernen:

Required="true" 

und klicken Sie auf die Schaltfläche in der Steuerung die Datum/Zeit-Updates, aber diese zurück Platzierung hält das Datum/Zeit aktualisiert werden. Ich brauche beide zu verwenden, wie ich für die Vornamen wünsche, sondern auch

einfaches Beispiel zu aktualisieren, für die Zeit, die benötigt werden:

<asp:ScriptManager ID="ScriptManager1" runat="server" /> 

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Label ID="lblTime" runat="server" Text=""></asp:Label> 
     <asp:Button ID="btnRefreshTime" runat="server" Text="Refresh Time" OnClick="btnRefreshTime_Click" /> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="btnRefreshTime" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 

-Code Behind:

Protected Sub btnRefreshTime_Click(sender As Object, e As EventArgs) 
    lblTime.Text = DateTime.Now.ToString() 
End Sub 

Was soll ich tun falsch und was müsste ich tun, um es zu lösen, ohne das Formular bis zum Missbrauch zu öffnen (Skriptangriffe) usw.? Ich möchte nicht die folgende auf die Seite Richtlinie hinzuzufügen:

ValidateRequest="false" 

Vielen Dank im Voraus

+0

Können Sie Ihre HTML aktualisieren, um das Formular HTML anzuzeigen und wo die erforderliche Eingabe auf dem Formular ist. Auch 'winforms' ist kein passendes Tag für diese Frage. –

Antwort

0

probabily das serverseitige Ereignis Taste verhindert aufgrund der Client-Seite Validierung von required = "true".

auszuführen

Versuchen Sie, die Schaltfläche mit etwas anderem zu ändern, was die clientseitige Validierung durch das Design nicht auslöst. Ich würde es mit einem LinkButton versuchen.

+1

Vielen Dank für die tolle Idee. Es scheint gut zu funktionieren. Ich schätze deine Hilfe wirklich. Es ist komisch, wie die Knopfidee mit der Originalseite funktioniert, die in VS 2010 erstellt wurde, und doch mit identischem Code, den sie in VS 2015 postbacken möchte, aber deine Idee scheint der Schlüssel zu sein ... +1 für dich, Isol! –