ciao ti invio qualche riga di esempio che spero possa esserti utile. L'ho fatto in VB ma dovresti riuscire a convertilo facilmente in C#. NELLA PAG:
<table>
<tr>
<td>
<asp:TextBox ID="DataArrivoTextBox" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="DataPartenzaTextBox" runat="server"></asp:TextBox>
</td>
<td>
<asp:Label ID="DurataLabel" runat="server" Text=""></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:RequiredFieldValidator ID="DataArrivoRequiredFieldValidator"
runat="server" ErrorMessage="Compilare Data Arrivo"
ControlToValidate="DataArrivoTextBox" ForeColor="Red"
ValidationGroup="ValidazioneSconto" EnableClientScript="true" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
<td>
<asp:RequiredFieldValidator ID="DataPartenzaRequiredFieldValidator"
runat="server" ErrorMessage="Compilare Data Partenza"
ControlToValidate="DataPartenzaTextBox" ForeColor="Red"
ValidationGroup="ValidazioneSconto" EnableClientScript="true" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
<td>
</td>
</tr>
<tr>
<td colspan="3" >
<asp:CompareValidator ID="DataCompareValidator" runat="server" ErrorMessage="La Data di Arrivo deve essere antecendente alla Data di Partenza" ValidationGroup="ValidazioneSconto" Operator="LessThanEqual" ControlToValidate="DataArrivoTextBox" ControlToCompare="DataPartenzaTextBox" ForeColor="Red" Display="Dynamic"></asp:CompareValidator>
<asp:CustomValidator ID="DataCustomValidator" runat="server" ErrorMessage="Date Non valide" ValidationGroup="ValidazioneSconto" ForeColor="Red" Display="Dynamic" ></asp:CustomValidator>
</td>
</tr>
<tr>
<td colspan="2" >
<asp:Button ID="CalcolaScontoButton" runat="server" Text="Button" ValidationGroup="ValidazioneSconto"/>
</td>
<td>
<asp:Label ID="ScontoLabel" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</table>
NEL CODICE:
Private Sub CalcolaScontoButton_Command(sender As Object, e As System.Web.UI.WebControls.CommandEventArgs) Handles CalcolaScontoButton.Command
' Controllo se le textBox delle date contengono date valide
If IsDate(DataArrivoTextBox.Text) AndAlso IsDate(DataPartenzaTextBox.Text) Then
DurataLabel.Text = DateDiff("d", DataArrivoTextBox.Text, DataPartenzaTextBox.Text)
ScontoLabel.Text = CalcolaSconto(CInt(DurataLabel.Text))
Else
DurataLabel.Text = String.Empty
ScontoLabel.Text = String.Empty
End If
End Sub
Private Function CalcolaSconto(ByVal gg As Int32) As Decimal
'Questa Funzione Calcola lo sconto da applicare al listino
Return gg / 10
End Function
Private Sub DataCustomValidator_ServerValidate(source As Object, args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles DataCustomValidator.ServerValidate
args.IsValid = IsDate(DataArrivoTextBox.Text) AndAlso IsDate(DataPartenzaTextBox.Text)
End Sub
Fammi sapere se hai dubbi in proposito.