I've an asp button on an aspx :
<asp:Button id="btnReport2" name="btnReport2" runat="server" class="gradientBlueBtn" Text="Show Report" OnClientClick="Alert();" ToolTip="Report"/>
As you can see, I'm calling a javascript function which uses AJAX to call a C# method. I'm doing this way :
<script>
function Alert()
{
$.ajax({
type: "POST",
url: "Selection.aspx/GetReport",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function()
{
alert('success');
},
error: function()
{
alert('error');
}
});
}
</script>
The thing is, I'm always getting the error message when I'm clicking on the button. Is there something I'm doing wrong?
EDIT : The C# method. I've put a breakpoint to see if the method is called but apparently it isn't.
public void GetReport()
{
AddFilters();
decimal localCurrencyRate;
App_Data.BulkImportDSTableAdapters.ClientsTableAdapter tadptClients = new App_Data.BulkImportDSTableAdapters.ClientsTableAdapter();
string legalEntityID = string.Empty;
if (txtSrcSys.Text != null)
{
DataTable dtSSYS = tadptClients.GetLegalEntityID(txtSrcSys.Text);
if (dtSSYS.Rows.Count > 0)
{
legalEntityID = Convert.ToString(dtSSYS.Rows[0][0]);
}
}
DateTime dtInvoiceFrom = DateTime.ParseExact(txtInvoiceFrom.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture);
DateTime dtInvoiceTo = DateTime.ParseExact(txtInvoiceTo.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture);
string strInvoiceFrom = String.Format("{0:yyyyMMdd}", dtInvoiceFrom);
string strInvoiceTo = String.Format("{0:yyyyMMdd}", dtInvoiceTo);
string localCurrency = dbcon.getLocalCurrency(legalEntityID);
DataSet localCurrencyDs = dbcon.getCurrencyRate(localCurrency, strInvoiceFrom);
if (Convert.ToDecimal(localCurrencyDs.Tables[0].Rows[0]["rate"]) == 0)
localCurrencyRate = Convert.ToDecimal(localCurrencyDs.Tables[0].Rows[1]["rate"]);
else
localCurrencyRate = Convert.ToDecimal(localCurrencyDs.Tables[0].Rows[0]["rate"]);
string fileQuery = string.Empty;
if (cbxExpYes.Checked == true && cbxExpNo.Checked == false)
{
fileQuery = File.ReadAllText(Server.MapPath("~/temp/Query.txt")).Replace("{1}", "XFORM_AREA.IMPORT_GE_MAIN_V15BIS m");
fileQuery = fileQuery.Replace(":param1", localCurrencyRate.ToString());
fileQuery = fileQuery.Replace("{0}", qb.getFilters().Replace("P.", "m."));
}
if (cbxExpYes.Checked == false && cbxExpNo.Checked == true)
{
fileQuery = File.ReadAllText(Server.MapPath("~/temp/Query.txt")).Replace("{1}", "PREIMPORT_GE_MAIN m");
fileQuery = fileQuery.Replace(":param1", localCurrencyRate.ToString());
fileQuery = fileQuery.Replace("{0}", qb.getFilters().Replace("P.", "m."));
}
if (cbxExpYes.Checked == true && cbxExpNo.Checked == true)
{
fileQuery = File.ReadAllText(Server.MapPath("~/temp/QueryUnion.txt"));
fileQuery = fileQuery.Replace("{ParamValues}", "pg.DEFVAL ");
fileQuery = fileQuery.Replace("{ParamTab}", "ref_var_def pg");
fileQuery = fileQuery.Replace("{ParamCond}", "pg.NM = 'WL_REPORTING_CUR'");
fileQuery = fileQuery.Replace("{0}", qb.getFilters().Replace("P.", "m."));
fileQuery = fileQuery.Replace("{1}", qb.getFilters().Replace("P.", "i."));
}
ASPxPivotGrid1.OptionsFilter.ShowOnlyAvailableItems = true;
int indexTravFullName = 0;
int indexEndTravFullName = 0;
string paramToRemove = string.Empty;
indexTravFullName = fileQuery.IndexOf("AND PR.ST_TRAVELLER_FULL_NAME LIKE");
if (indexTravFullName > 0)
{
indexEndTravFullName = fileQuery.Substring(indexTravFullName).IndexOf("AND", 3);
paramToRemove = fileQuery.Substring(indexTravFullName, indexEndTravFullName);
fileQuery = fileQuery.Replace(paramToRemove, string.Empty);
}
if (!string.IsNullOrEmpty(fileQuery))
{
DataSet dsTravels = new DataSet();
oCmd.CommandText = fileQuery;
oCmd.CommandType = CommandType.Text;
oCmd.Connection = oConn;
odpter.SelectCommand = oCmd;
odpter.SelectCommand.Parameters.Add(":pSourceSystem", txtSrcSys.Text);
odpter.SelectCommand.Parameters.Add(":pInvoiceFrom", strInvoiceFrom);
odpter.SelectCommand.Parameters.Add(":pInvoiceTo", strInvoiceTo);
if (!String.IsNullOrWhiteSpace(txtCustomNr.Text))
{
odpter.SelectCommand.Parameters.Add(":pCustomerNr", txtCustomNr.Text);
}
if (!String.IsNullOrWhiteSpace(txtIATA.Text))
{
odpter.SelectCommand.Parameters.Add(":Iata", txtIATA.Text);
}
if (!String.IsNullOrWhiteSpace(txtCurrCode.Text))
{
odpter.SelectCommand.Parameters.Add(":CurrCode", txtCurrCode.Text);
}
if (!String.IsNullOrWhiteSpace(txtInvoiceNrFrom.Text))
{
odpter.SelectCommand.Parameters.Add(":pInvoiceNrFrom", txtInvoiceNrFrom.Text);
}
if (!String.IsNullOrWhiteSpace(txtInvoiceNrTo.Text))
{
odpter.SelectCommand.Parameters.Add(":pInvoiceNrTo", txtInvoiceNrTo.Text);
}
if (!String.IsNullOrWhiteSpace(txtDossierNrFrom.Text))
{
odpter.SelectCommand.Parameters.Add(":pDossierNrFrom", txtInvoiceNrFrom.Text);
}
if (!String.IsNullOrWhiteSpace(txtDossierNrFrom.Text))
{
odpter.SelectCommand.Parameters.Add(":pDossierNrTo", txtInvoiceNrFrom.Text);
}
if (!String.IsNullOrWhiteSpace(txtTravellerName.Text))
{
odpter.SelectCommand.Parameters.Add(":pTravellerName", txtTravellerName.Text);
}
if (chbxSale.Checked)
{
odpter.SelectCommand.Parameters.Add(":pSale", "SA");
}
if (chbxRefund.Checked)
{
odpter.SelectCommand.Parameters.Add(":pRefund", "RE");
}
if (hfTravelWith.Value.Contains("chbxairs"))
{
odpter.SelectCommand.Parameters.Add(":pProductAir", "7");
}
if (hfTravelWith.Value.Contains("chbxhotels"))
{
odpter.SelectCommand.Parameters.Add(":pProductHotel", "3");
}
if (hfTravelWith.Value.Contains("chbxcars"))
{
odpter.SelectCommand.Parameters.Add(":pProductCar", "1");
}
if (hfTravelWith.Value.Contains("chbxrails"))
{
odpter.SelectCommand.Parameters.Add(":pProductRail", "6");
}
if (hfTravelWith.Value.Contains("chbxmisc"))
{
odpter.SelectCommand.Parameters.Add(":pProductMisc", "9");
}
if (!String.IsNullOrWhiteSpace(txtBatchNr.Text))
{
odpter.SelectCommand.Parameters.Add(":pBatchNr", txtBatchNr.Text);
}
odpter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
odpter.Fill(dsTravels, "ReportTab");
int count = dsTravels.Tables[0].Rows.Count;
DataTable dt = dsTravels.Tables[0];
if (dt.Rows.Count > 0)
{
ASPxPivotGrid1.DataSource = dt;
ASPxPivotGrid1.DataBind();
Session["dtReport"] = dt;
//ASPxPivotGrid1.Prefilter.CriteriaString = "[" + "" + "]";
}
}
}