我可以在MVC控制器中使用此方法吗?我如何从ajax中调用它? [WebMethod] [脚本方法(UseHttpGet=true)] 公共静态对象Get受益者帐户() { CLSBeneficients obj=新的CLSBeneficients(); var List=新列表(); List=obj.getAll受益者帐户(); var result=List.Select(a=>new { 账户ID=a.账户ID, Name=a.Name, }); 返回结果; }
我是mvc新手。我在asp应用程序中使用了这种方法,但现在我想学习asp mvc我可以在MVC控制器中使用此方法吗?我如何从ajax中调用它? [WebMethod] [脚本方法(UseHttpGet=true)] 公共静态对象Get受益者帐户() { CLSBeneficients obj=新的CLSBeneficients(); var List=新列表(); List=obj.getAll受益者帐户(); var result=List.Select(a=>new { 账户ID=a.账户ID, Name=a.Name, }); 返回结果; },ajax,asp.net-mvc,ado.net,Ajax,Asp.net Mvc,Ado.net,我是mvc新手。我在asp应用程序中使用了这种方法,但现在我想学习asp mvc 所以,任何人都可以帮助我,我可以在控制器中使用script方法,以及我如何从Ajax调用这个方法吗?您可以使用JsonResult来实现这一点 [WebMethod] [ScriptMethod(UseHttpGet = true)] public static object GetBeneficiaryAccount() { ClsBeneficiaries obj = new ClsBeneficiar
所以,任何人都可以帮助我,我可以在控制器中使用script方法,以及我如何从Ajax调用这个方法吗?您可以使用JsonResult来实现这一点
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static object GetBeneficiaryAccount()
{
ClsBeneficiaries obj = new ClsBeneficiaries();
var List = new List<ClsBeneficiaries>();
List = obj.GetAllBeneficiariesAccout();
var result = List.Select(a => new
{
Account_ID = a.Account_ID,
Name = a.Name,
});
return result;
}
[HttpGet]
public JsonResult get受益人账户()
{
CLSBeneficients obj=新的CLSBeneficients();
var List=新列表();
List=obj.getAll受益者帐户();
var result=List.Select(a=>new
{
账户ID=a.账户ID,
Name=a.Name,
});
返回Json(结果,JsonRequestBehavior.AllowGet);
}
Asp.Net Asmx解决方案
为此,您需要从添加新项目菜单创建一个.asmx
文件据我所知,您在mvc项目中调用asp.net asmx web服务是为了向后比较。因此,如果您真的需要从asp.net mvc项目中调用
.asmx
web服务,那么这里就是您要做的步骤首先将路线条目添加到您的应用程序\u Start->RouteConfig.cs文件中
[HttpGet]
public JsonResult GetBeneficiaryAccount()
{
ClsBeneficiaries obj = new ClsBeneficiaries();
var List = new List<ClsBeneficiaries>();
List = obj.GetAllBeneficiariesAccout();
var result = List.Select(a => new
{
Account_ID = a.Account_ID,
Name = a.Name,
});
return Json(result, JsonRequestBehavior.AllowGet);
}
这将发送到asp.net mvc中的路由引擎到以.asmx
结尾的ignor路径。
接下来,转到web.config文件并在
System.web
routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");
现在,您可以像常规的Ajax调用一样使用jQuery对其进行测试,它应该可以工作
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public string HelloWorld()
{
return "Hello World";
}
现在,只需使用jQuery调用它
[HttpGet]
public JsonResult GetBeneficiaryAccount()
{
ClsBeneficiaries obj = new ClsBeneficiaries();
var List = new List<ClsBeneficiaries>();
List = obj.GetAllBeneficiariesAccout();
var result = List.Select(a => new
{
Account_ID = a.Account_ID,
Name = a.Name,
});
return Json(result, JsonRequestBehavior.AllowGet);
}
$(函数(){
$.get('/YourControllerName/get受益者帐户',函数(数据){
警报(数据);
//做点什么
});
});
由于您是MVC新手,因此我建议您遵循MVC解决方案,它只返回JSON数据。结果的值是多少?是json吗?你想返回部分视图还是json?在这种情况下,我返回json,但我想从这个结果中填充一个选择..你在使用asmx服务吗?不,我使用这个web方法是控制器
<script>
$(function () {
$.get('/webservice1.asmx/HelloWorld', function (data) {
alert('');
alert(data);
});
alert('after');
});
</script>
[HttpGet]
public JsonResult GetBeneficiaryAccount()
{
ClsBeneficiaries obj = new ClsBeneficiaries();
var List = new List<ClsBeneficiaries>();
List = obj.GetAllBeneficiariesAccout();
var result = List.Select(a => new
{
Account_ID = a.Account_ID,
Name = a.Name,
});
return Json(result, JsonRequestBehavior.AllowGet);
}
<script>
$(function () {
$.get('/YourControllerName/GetBeneficiaryAccount', function (data) {
alert(data);
//do something
});
});
</script>