2016-12-27 3 views
0

MVC 모델을 사용하여 내 sitefinity 프로젝트에서 메소드를 호출하려고하지만 프로그램이 리소스를로드하지 못했습니다. 404, 컨트롤러를 찾지 못했지만 해결 방법을 알지 못합니다. 컨트롤러의기능 리소스를로드하지 못했습니다 : MVv

function myFunction(postId) { 
    $.ajax({ 
     url:'/CombosController/GetCantones', 
     type: 'POST', 
     dataType:"applicaiton/json; charset=utf-8", 
     data: { idprovincia: postId }, 
     success: function(data) {alert("success");}, 
     error: function() {alert("error");} 
    }) 
} 

작업 : :

[WebMethod] 
public static ActionResult GetCantones(int idprovincia) 
{ 
    CombosBL.Provincias.JsonListados metodos = new JsonLIstados(); 
    List<ClaseCantones.NCanton> ListaPropiedades = metodos.GetCantonesByIdProvincia(idprovincia); 
    var lista = ListaPropiedades; 
    return new JsonResult { Data = lista, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
} 
+0

이미지와 달리 코드를 붙여 넣으십시오. –

답변

0

할 수 이 내 코드

jQuery를 호출입니다

예 전화 :

[ControllerToolboxItem(Name = "CombosWidget", Title = "CombosWidget", SectionName = "MVC Custom Widgets")] 
public class CombosController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public ActionResult GetCantones(int idprovincia) 
    { 
     //your logic is here 
    } 
} 

두 번째 방법

만들기 사용자 정의 URL 경로 귀하의 컨트롤러의 동작에

예 귀하의 경우에 그렇게하는 방법. Global.asax.cs 코드 :

protected void Application_Start(object sender, EventArgs e) 
    {    
     Bootstrapper.Initialized += new EventHandler<Telerik.Sitefinity.Data.ExecutedEventArgs>(Bootstrapper_Initialized); 
    } 

    protected void Bootstrapper_Initialized(object sender, Telerik.Sitefinity.Data.ExecutedEventArgs e) 
    { 
     if (e.CommandName == "Bootstrapped") 
     { 
      RegisterRoutes(RouteTable.Routes); 
     } 
    } 

    private void RegisterRoutes(RouteCollection routes) 
    { 
     routes.Ignore("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "CantonesApi", 
      url: "api/getcantones", 
      defaults: new { controller = "CombosController", action="GetCantones" } 
     ); 
    } 

그런 다음 http://yourhost/api/getcantones으로 전화 할 수 있습니다.

관련 문제