EXTJS-grid-store laden - Parameter hinzufügen?
Ich bin in den Prozess der Umwandlung einer asp-repeater in eine EXTJS grid. Oberhalb der repeater ist ein dropdown und eine radiobutton-Liste. Die dropdown wählt der Kunden die Daten der repeater zeigt, und das radiobuttonlist-wählt die Abfrage-Typ (Standard, eine Ressource oder Rolle). Derzeit, wenn in der ddl-oder radiobutton-Komponente geändert wird, wird die Seite postsback mit den neuen Daten.
Ich bin mir nicht sicher, wie Sie Sie übergeben den Wert dieser beiden Objekte in meine statische webservice im backend über das extjs-store-api-GET-Aufruf.
Den extjs-store-code...
store: Ext.create('Ext.data.Store', {
autoLoad: true,
autoSync: false,
model: 'Assembly',
proxy: {
type: 'ajax',
headers: { "Content-Type": 'application/json' },
api: {
read: '/Admin/BillRateData.aspx/Get'
},
reader: {
type: 'json',
root: function (o) {
if (o.d) {
return o.d;
} else {
return o.children;
}
}
},
writer: {
type: 'json',
root: 'jsonData',
encode: false,
allowSingle: false
},
listeners: {
exception: function (proxy, response, operation) {
Ext.MessageBox.show({
title: "Workflow Groups Error",
msg: operation.action + ' Operation Failed: ' + operation.getError().statusText,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
}
}
}
- Und der webservice - ...(mit einigen psuedocode)
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public static List<BillRate> Get()
{
using (TimEntities db = new TimEntities())
{
int tableId = Int32.Parse(ddlTable.SelectedValue);
var defaultQry = from t1 in db.BillCostTableDatas
where t1.TableId == tableId
&& t1.ResourceId == 0 && t1.RoleId == 0
orderby t1.Rate
select new
{
id = t1.Id,
resource = "",
role = "",
rate = t1.Rate,
TierName = ""
};
var resourceQry = from t1 in db.BillCostTableDatas
join t2 in db.Machines on t1.ResourceId equals t2.Machine_ID
join t3 in db.TOMIS_USER on t2.Machine_User_ID equals t3.User_ID
join t4 in db.PricingTierNames on t1.PricingTierID equals t4.TierID
where t1.TableId == tableId
&& t1.ResourceId != 0
&& t1.RoleId == 0
orderby t3.LName, t3.FName, t1.Rate, t4.TierName
select new
{
id = t1.Id,
resource = t3.LName + ", " + t3.FName,
role = "",
rate = t1.Rate,
TierName = t4.TierName
};
var roleQry = from t1 in db.BillCostTableDatas
join t2 in db.TaskRoles on t1.RoleId equals t2.Id
where t1.TableId == tableId
&& t1.ResourceId == 2 && t1.RoleId != 0
orderby t2.Name, t1.Rate
select new
{
id = t1.Id,
resource = "",
role = t2.Name,
rate = t1.Rate,
TierName = ""
};
if (this.rblOptions.SelectedValue == "resource")
{
var results = from Res in resourceQry.ToList()
select new BillRate
{
};
return results.ToList();
}
else if (this.rblOptions.SelectedValue == "role")
{
var results = from Res in roleQry.ToList()
select new BillRate
{
};
return results.ToList();
}
else
{
var results = from Res in defaultQry.ToList()
select new BillRate
{
};
return results.ToList();
}
return null;
}
}
Ich bin mir nicht sicher, ob ich das bekommen, was Sie gefragt haben. Wie zum senden der Parameter an den server mithilfe der Extern speichern?
Das raster gefüllt wird, mit der js "Lesen: '/Admin/BillRateData.aspx/Bekommen'", die fordert, das webmethod-ich eingefügt. Was ich versuche, herauszufinden, ist das hinzufügen von Parametern zu der GET-Aufruf mit Werten für die dropdown-und radiobutton-Liste, so dass Sie das webmethod-können wissen, wie Sie die Abfrage zu verwenden.
Das raster gefüllt wird, mit der js "Lesen: '/Admin/BillRateData.aspx/Bekommen'", die fordert, das webmethod-ich eingefügt. Was ich versuche, herauszufinden, ist das hinzufügen von Parametern zu der GET-Aufruf mit Werten für die dropdown-und radiobutton-Liste, so dass Sie das webmethod-können wissen, wie Sie die Abfrage zu verwenden.
InformationsquelleAutor NikZ | 2013-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Sie auslösen, Ihre store-laden von manuell können Sie die
params
Optionen, um dieLast
Methode.Beispiel:
Wenn Sie möchten, dass der Parameter gesendet werden, für mehrere nachfolgende Abfragen, Sie können schreiben Sie Sie in die
extraParams
Eigenschaft des proxy.Beispiel:
Die Möglichkeit, diese Parameter an den server übergeben wird, hängt von der Art der Anfrage. Für Sie lieben, Sie werden angehängt als query params; für POST, die Sie eingebettet wird in den request-body.
InformationsquelleAutor rixo