Hi I am trying to populate a WebGrid in a partial view . Apparently everything is going right no errors no exceptions but my ajax call is failing.
My code (Partial view )
@using ThisController = MatterDict.Controllers.MatterDictController
@model IEnumerable<MatterDict.Models.MatterDictViewModel>
<div id="wgmatterDict">
@{
WebGrid displayGrid = new WebGrid(source: Model, ajaxUpdateContainerId: "wgmatterDict");
@displayGrid.GetHtml(columns: new[]
{
displayGrid.Column("LSC_Work_Type", header:"ETHNIC ORIGIN"),
displayGrid.Column("RULE_NO", header:"DESCRIPTION"),
displayGrid.Column("ACT_NO", header:"DESCRIPTION"),
displayGrid.Column("ACTION", header:"DESCRIPTION"),
displayGrid.Column("OPEN_FLAG", header:"DESCRIPTION"),
});
}
</div>
I am getting the result in the Model and this runs as expected .
My Ajax script
$.ajax({
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({ WorkType: lsc_WorkType, Rule: rule, Act_No: act_No, ActionDesc: action }),
type: "POST",
@*url: '@Url.Action("getQueryResult")',*@
url: '@Url.Action("DisplayPartial")',
success: function (result) {
alert(result);
$("#wgmatterDict").html(result)
alert("successful");
},
error: function (xhr, ajaxOptions, thrownError) {
alert("unsuccessful call ");
}
});
This is giving an alert :Unsuccessful call
My controller
public ActionResult DisplayPartial(string WorkType,int? RuleNo,int? Act_No,string ActionDesc)
{
return PartialView("DisplayPartial", getQueryResult(WorkType, RuleNo, Act_No, ActionDesc));
}
[HttpPost]
public IEnumerable<MatterDictViewModel> getQueryResult(string WorkType, int? RuleNo, int? Act_No, string ActionDesc)
{
IEnumerable<MatterDictViewModel> result = newOps.getQueryResult(WorkType, RuleNo, Act_No, ActionDesc);
return result;
}
I am using 2 models could you suggest if there is a better way to achieve this. Any help is appreciated Thanks