我的应用程序中有一个Kendo网格。
这是我的Read方法
public virtual ActionResult ReadItems([DataSourceRequest]DataSourceRequest request, string Landbouwernummer = "", string Startjaaraanvraag = "", string Maatregel = "",
string Pakket = "", string Startjaarverbintenis = "", string Eindjaarverbintenis = "",
string Aanvraagtype = "", string Status = "", string Opmerkingen = "", string Lijst = "")
{
List<AanvragenZoekenViewModel.ZoekResultaat> resourceItemsList = new List<AanvragenZoekenViewModel.ZoekResultaat>();
AanvragenZoekenViewModel.ZoekCriteria zoekCriteria = new AanvragenZoekenViewModel.ZoekCriteria
{
Landbouwernummer = Landbouwernummer,
...
};
return Json(resourceItemsList.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
这是获取adittional数据的jquery方法
function onReadAdditionalData() {
return {
Landbouwernummer : $("#Landbouwernummer").klantenControl().getAlvNummer().toString(),
Startjaaraanvraag : $("#Startjaaraanvraag").data("kendoMultiSelect").value().toString(),
Maatregel : $("#Maatregel").data("kendoMultiSelect").value().toString(),
Pakket : $("#Pakket").data("kendoMultiSelect").value().toString(),
Startjaarverbintenis: $("#Startjaarverbintenis").data("kendoMultiSelect").value().toString(),
Eindjaarverbintenis : $("#Eindjaarverbintenis").data("kendoMultiSelect").value().toString(),
Aanvraagtype : $("#Aanvraagtype").data("kendoMultiSelect").value().toString(),
Status : $("#Status").data("kendoMultiSelect").value().toString(),
Opmerkingen : $("#Opmerkingen").data("kendoMultiSelect").value().toString(),
Lijst : $("#Lijst").data("kendoDropDownList").value().toString()
};
}
我对Jquery不太好,所以这是我的问题。
我需要转过来
public virtual ActionResult ReadItems([DataSourceRequest]DataSourceRequest request, string Landbouwernummer = "", string Startjaaraanvraag = "", string Maatregel = "",
string Pakket = "", string Startjaarverbintenis = "", string Eindjaarverbintenis = "",
string Aanvraagtype = "", string Status = "", string Opmerkingen = "", string Lijst = "")
{
...
}
进入这个
public virtual ActionResult ReadItems([DataSourceRequest]DataSourceRequest request, AanvragenZoekenViewModel.ZoekCriteria zoekCriteria)
{
...
}
我该如何转动
function onReadAdditionalData() {
return {
Landbouwernummer : $("#Landbouwernummer").klantenControl().getAlvNummer().toString(),
Startjaaraanvraag : $("#Startjaaraanvraag").data("kendoMultiSelect").value().toString(),
Maatregel : $("#Maatregel").data("kendoMultiSelect").value().toString(),
Pakket : $("#Pakket").data("kendoMultiSelect").value().toString(),
Startjaarverbintenis: $("#Startjaarverbintenis").data("kendoMultiSelect").value().toString(),
Eindjaarverbintenis : $("#Eindjaarverbintenis").data("kendoMultiSelect").value().toString(),
Aanvraagtype : $("#Aanvraagtype").data("kendoMultiSelect").value().toString(),
Status : $("#Status").data("kendoMultiSelect").value().toString(),
Opmerkingen : $("#Opmerkingen").data("kendoMultiSelect").value().toString(),
Lijst : $("#Lijst").data("kendoDropDownList").value().toString()
};
}
进入这个
function onReadAdditionalData() {
return {
**just one object**
};
}
也就是说,我怎样才能将Landbouwernummer,Startjaaraanvraag等作为一个单独的实体发送,无论是什么?
答案 0 :(得分:0)
在aspx或cshtml页面中创建一个表单,其中包含一些id =“myForm”
还创建一个类,其中包含表单包含的所有输入字段。
然后在脚本中使用以下代码:
$.ajax{(
url:"contorller/action",
data:$("#myForm").serialize(),
type:"get/post", // use one
)};
在服务器端执行此操作:
public void method(MyModel m)
{}
这里模型m是来自aspx或cshtml表单页面的所有值的模型。 还使用html帮助器将模型字段关联到文本框,即: @ Html.TextBoxFor(M =&GT; m.myfield);
答案 1 :(得分:0)
我设法弄明白了。这是一个映射变量的问题。
public virtual ActionResult ReadItems([DataSourceRequest]DataSourceRequest request, AanvragenZoekenViewModel.ZoekCriteriaPostModel zoekCriteriaPosted) {
List<AanvragenZoekenViewModel.ZoekResultaat> resourceItemsList = new List<AanvragenZoekenViewModel.ZoekResultaat>();
AanvragenZoekenViewModel.ZoekCriteria zoekCriteria = new AanvragenZoekenViewModel.ZoekCriteria
{
Landbouwernummer = zoekCriteriaPosted.Landbouwernummer,
...
};
return Json(resourceItemsList.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
function onReadAdditionalData() {
var zoekCriteria = {
Landbouwernummer: $("#Landbouwernummer").klantenControl().getAlvNummer().toString(),
Startjaaraanvraag: $("#Startjaaraanvraag").data("kendoMultiSelect").value().toString(),
Maatregel: $("#Maatregel").data("kendoMultiSelect").value().toString(),
Pakket: $("#Pakket").data("kendoMultiSelect").value().toString(),
Startjaarverbintenis: $("#Startjaarverbintenis").data("kendoMultiSelect").value().toString(),
Eindjaarverbintenis: $("#Eindjaarverbintenis").data("kendoMultiSelect").value().toString(),
Aanvraagtype: $("#Aanvraagtype").data("kendoMultiSelect").value().toString(),
Status: $("#Status").data("kendoMultiSelect").value().toString(),
Opmerkingen: $("#Opmerkingen").data("kendoMultiSelect").value().toString(),
Lijst: $("#Lijst").data("kendoDropDownList").value().toString()
};
return {
zoekCriteriaPosted : zoekCriteria
};
}