2017-05-27 1 views
0

alle Meine Software-Struktur ist Extjs3.4.1 + Asp.net Mvc3. Nun Server ich von Client-Objekt möchten sendenWie kann ich komplexe Parameter an asp.net senden

Below Javascript-Code:

Ext.getCmp("hiddenform").getForm().submit({ 
    method: 'POST', 
    waitTitle: 'Connecting', 
    timeout: 180, 
    waitMsg: 'Sending data...', 
    params: Ext.util.JSON.encode({ ids: [{ id: 11 },{ id: 12},{ id: 13}]}), 
    url: myroot + 'stock/ObjectReceive', 
    success: function (form, action) { 
     Ext.Msg.alert("success", "success", function() { 
       pwforqueryconditions.hide(); 
     }); 
           }, 
     failure: function (form, action) { 
       itemform.getForm().reset(); 
     }); 

Und unten ist der Code auf Serverseite

public class IdStruct 
{ 
    public int id { get; set; } 
} 

public ActionResult ObjectReceive(List<IdStruct> ids) 
{ 
    return Content("{success:true}"); 
} 

Das Ergebnis ist Methode ObjectReceive excuted, aber ids ist nichts

Meine Frage ist, wie kann ich komplexe Parameter an asp.net senden

+0

Sie können sie im Hauptteil Ihrer Anfrage senden. –

Antwort

1

Der JavaScript-Code ist in Ordnung. Sie müssen nur den Server-Side-Code ändern. Von meinem Verständnis, wenn Sie die folgenden Daten senden:

params: Ext.util.JSON.encode({ ids: [{ id: 11 },{ id: 12},{ id: 13}]}) 

Die Seite Server nehmen Sie es als ein Objekt senden (Formulardaten), die die Liste/Array von IDs enthält.

Also auf Server-Seite, müssen Sie es als ein einzelnes Objekt mit List/Array von IDs als Eigenschaft erhalten. d. h.

public class IdStruct 
{ 
    public List<int> id { get; set; } 
} 

public ActionResult ObjectReceive(IdStruct ids) 
{ 
    return Content("{success:true}"); 
} 
+0

Entschuldigung, ich habe immer noch nichts – user2155362

Verwandte Themen