Hi yati,
PLease refer below code and chenge your code.
HTML
<div>
DonationAmount :
<asp:TextBox ID="txtDonationAmount" runat="server" class="form-control input-sm"></asp:TextBox>
<br />
From :
<asp:TextBox ID="txtReceiveFrom" runat="server" CssClass="form-control input-sm"></asp:TextBox>
Amount Given:
<asp:TextBox ID="txtAmountgiven" runat="server" CssClass="form-control input-sm"></asp:TextBox>
<br />
<asp:Button ID="btnAddReceipt" runat="server" Text="Add Receipt Detail" OnClick="btnAddReceipt_Click" />
<hr />
<asp:Repeater ID="RPT_RCTP_DTL" runat="server">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="lblPayType" Text='<%# Eval("Person")%>' runat="server"></asp:Label>
</td>
<td>
<asp:Label ID="Label1" Text='<%# Eval("Amount")%>' runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="btnSave" runat="server" CssClass="btn btn-primary" Text="Save" OnClick="btnsave_Click">
</asp:Button>
</div>
Namespaces
C#
using System.Data;
VB.Net
Imports System.Data
Code
C#
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
dt.Columns.AddRange(new DataColumn[] { new DataColumn("Person", typeof(string)), new DataColumn("Amount", typeof(int)) });
RPT_RCTP_DTL.DataSource = dt;
RPT_RCTP_DTL.DataBind();
Session["dt"] = dt;
}
}
protected void btnAddReceipt_Click(object sender, EventArgs e)
{
int amountDonation = int.Parse(txtDonationAmount.Text);
int amountReceive = int.Parse(txtAmountgiven.Text);
dt = (DataTable)Session["dt"];
DataRow dr = dt.NewRow();
dr["Person"] = txtReceiveFrom.Text;
dr["Amount"] = txtAmountgiven.Text;
int sum = dt.Rows.Count > 0 ? Convert.ToInt32(dt.Compute("SUM(Amount)", string.Empty)) : 0;
int tot = sum + amountReceive;
if (amountDonation < amountReceive)
{
string message = "alert('Amount Exceeded')";
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true);
}
else if (amountDonation < tot)
{
string message = "alert('Amount Exceeded')";
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true);
}
else
{
if (amountReceive > 0)
{
dt.Rows.Add(dr);
RPT_RCTP_DTL.DataSource = dt;
RPT_RCTP_DTL.DataBind();
}
}
}
protected void btnsave_Click(object sender, EventArgs e)
{
dt = Session["dt"] as DataTable;
int sum = dt.Rows.Count > 0 ? Convert.ToInt32(dt.Compute("SUM(Amount)", string.Empty)) : 0;
int amountDonation = int.Parse(txtDonationAmount.Text);
if (sum > amountDonation)
{
string message = "alert('Amount Exceeded')";
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true);
}
}
VB.Net
Private dt As DataTable = New DataTable()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
dt.Columns.AddRange(New DataColumn() {New DataColumn("Person", GetType(String)), New DataColumn("Amount", GetType(Integer))})
RPT_RCTP_DTL.DataSource = dt
RPT_RCTP_DTL.DataBind()
Session("dt") = dt
End If
End Sub
Protected Sub btnAddReceipt_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim amountDonation As Integer = Integer.Parse(txtDonationAmount.Text)
Dim amountReceive As Integer = Integer.Parse(txtAmountgiven.Text)
dt = CType(Session("dt"), DataTable)
Dim dr As DataRow = dt.NewRow()
dr("Person") = txtReceiveFrom.Text
dr("Amount") = txtAmountgiven.Text
Dim sum As Integer = If(dt.Rows.Count > 0, Convert.ToInt32(dt.Compute("SUM(Amount)", String.Empty)), 0)
Dim tot As Integer = sum + amountReceive
If amountDonation < amountReceive Then
Dim message As String = "alert('Amount Exceeded')"
ScriptManager.RegisterClientScriptBlock((TryCast(sender, Control)), Me.[GetType](), "alert", message, True)
ElseIf amountDonation < tot Then
Dim message As String = "alert('Amount Exceeded')"
ScriptManager.RegisterClientScriptBlock((TryCast(sender, Control)), Me.[GetType](), "alert", message, True)
Else
If amountReceive > 0 Then
dt.Rows.Add(dr)
RPT_RCTP_DTL.DataSource = dt
RPT_RCTP_DTL.DataBind()
End If
End If
End Sub
Protected Sub btnsave_Click(ByVal sender As Object, ByVal e As EventArgs)
dt = TryCast(Session("dt"), DataTable)
Dim sum As Integer = If(dt.Rows.Count > 0, Convert.ToInt32(dt.Compute("SUM(Amount)", String.Empty)), 0)
Dim amountDonation As Integer = Integer.Parse(txtDonationAmount.Text)
If sum > amountDonation Then
Dim message As String = "alert('Amount Exceeded')"
ScriptManager.RegisterClientScriptBlock((TryCast(sender, Control)), Me.[GetType](), "alert", message, True)
End If
End Sub