list ajax封装,如何在模型中传递List作为ajax调用的参数?

我使用带有Razor视图的MVC 4 ASP.net。

因此,通过我的ajax调用,我想改进搜索结果。但是,我通过在控制器中创建连接数据库并包含所有搜索过滤器的方法来实现此目的。然而这是不实际的,因为该方法包含一个巨大的开关盒,里面有各种开关盒。

这是不实际的,所以我的qeustion是如何在View中检索表信息运行时?我知道如何使用我的AJAX方法传递参数,并使用它来访问进入数据库的方法。然而,将当前视图列入其列表并修改该列表会更好。基本上我想将所有数据库调用更改为我在参数中获取的列表,这样我可以调整该列表中的内容而不是在每个过滤器后连接到数据库我只是不知道如何传递视图中的当前列表< / p>

这是我的AJAX电话:

$(checkbox5yearsfilter).click(function () {

if ($(checkbox5yearsfilter).is(':checked')) {

$.ajax({

type: 'POST',

url: '../Person/changeTableOnWorkExp',

datatype: 'html',

data: { parameter: $('#parameter').val(), choice: $('#choice').val(), years: 5, ischecked: "yes" },

success: function (data) {

$('span div.searchresults').html(data);

},

error: function (data) {

alert("Something went wrong with the call, have you searched already?");

}

});

}

这是我的方法太长了:

public PartialViewResult changeTableOnWorkExp(string parameter, string choice, int years, string ischecked)

{

List list = new List();

if (ischecked == "yes")

{

switch (years)

{

case 5:

switch(choice)

{

case "Knows Already":

list = (from p in db.Persons where p.YearsOfWorkExperience > 5 && (p.HobbyProjectICTRelated.Contains(parameter) || p.LearntSkillsAndLevelOfSkills.Contains(parameter)) select p).ToList();

return PartialView("_SearchSkills", list);

case "Wants To Learn":

list = (from p in db.Persons where p.YearsOfWorkExperience > 5 && p.SkillsToLearn.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

case "Hobbies":

list = (from p in db.Persons where p.YearsOfWorkExperience > 5 && p.Hobbys.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

case "Name":

list = (from p in db.Persons where p.YearsOfWorkExperience > 5 && p.Name.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

}

break;

case 10:

switch(choice)

{

case "Knows Already":

list = (from p in db.Persons where p.YearsOfWorkExperience > 10 && (p.HobbyProjectICTRelated.Contains(parameter) || p.LearntSkillsAndLevelOfSkills.Contains(parameter)) select p).ToList();

return PartialView("_SearchSkills", list);

case "Wants To Learn":

list = (from p in db.Persons where p.YearsOfWorkExperience > 10 && p.SkillsToLearn.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

case "Hobbies":

list = (from p in db.Persons where p.YearsOfWorkExperience > 10 && p.Hobbys.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

case "Name":

list = (from p in db.Persons where p.YearsOfWorkExperience > 10 && p.Name.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

}

break;

case 15:

switch(choice)

{

case "Knows Already":

list = (from p in db.Persons where p.YearsOfWorkExperience > 15 && (p.HobbyProjectICTRelated.Contains(parameter) || p.LearntSkillsAndLevelOfSkills.Contains(parameter)) select p).ToList();

return PartialView("_SearchSkills", list);

case "Wants To Learn":

list = (from p in db.Persons where p.YearsOfWorkExperience > 15 && p.SkillsToLearn.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

case "Hobbies":

list = (from p in db.Persons where p.YearsOfWorkExperience > 15 && p.Hobbys.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

case "Name":

list = (from p in db.Persons where p.YearsOfWorkExperience > 15 && p.Name.Contains(parameter) select p).ToList();

return PartialView("_SearchSkills", list);

}

break;

default:

list = null;

return null;

}

return null;

}

else

{

list = getListPerson(parameter, choice);

return PartialView("_SearchSkills", list);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值