Der Code sieht wie folgt:Wie konvertiert man Daten in JSon in MVC 5 App mit jQuery Ajax Anruf?
1) Die Klasse Einheit:
public partial class EnergeticalComplex : TrackableBaseObject, IWithDbAffiliateFieldBlockField
{
private ICollection<Cell> _cells;
private ICollection<Document> _documents;
public int? AffiliateId { get; set; }
public virtual Affiliate Affiliate { get; set; }
public int? FieldBlockId { get; set; }
[AutoQueryRoot]
public virtual FieldBlock FieldBlock { get; set; }
public int? FieldId { get; set; }
[AutoQueryRoot]
public virtual Field Field { get; set; }
[NotNull]
[AutoQueryRoot]
public virtual ICollection<Cell> Cells
{
get { return _cells ?? (_cells = new List<Cell>().WithLock(SyncRoot)); }
}
[NotNull]
[TrackableRelation]
public virtual ICollection<Document> Documents
{
get { return _documents ?? (_documents = new List<Document>().WithLock(SyncRoot)); }
}
}
2) in der Steuerung:
public JsonResult ComboBoxBalanse(int fieldId)
{
List<EnergeticalComplex> eComplex;
using (var c = _contextFactory.CreateContext())
{
var eComplexesSet = c.Set(c.GetType()
.EntityTypes()
.First(t => typeof(IEnergeticalComplex).IsAssignableFrom(t)));
eComplex = eComplexesSet
.Cast<EnergeticalComplex>()
.Where(ec => ec.Field.Id == fieldId && !ec.Name.Contains("KTP"))
.ToList();
}
ViewData["EnergeticalComplexList"] = eComplex;
ViewData["fieldId"] = fieldId;
return Json(eComplex, JsonRequestBehavior.AllowGet);
}
3) In JavaScript-Modul:
function onClickShowButton() {
var selectBoxField = $("#divFieldsComboBox").dxSelectBox("instance");
var indField = selectBoxField.option("value");
$.ajax({
contentType: "application/json; charset=utf-8",
type: 'POST',
url: '/LostEnergyCalculation/ComboBoxBalanse',
dataType: 'json',
data: "{ fieldId: " + indField + " }"
}).done(function (data) {
alert(JSON.stringify(data));
});
}
Der Programmablauf tritt nach done() nicht in den Block ein.
_after_ '.done()', bitte erarbeiten. Was ist die Ausgabe von 'console.log (data);'? – Satpal
Haben Sie die Konsole überprüft, um festzustellen, ob Fehler vorhanden sind? –
Ich habe .fail() Block mit console.log (Daten) hinzugefügt und habe dies: ReferenceError: Daten ist nicht definiert. – tesicg