2013-10-30 3 views
1

이것은 클라이언트 요구 사항이며 관리자 패널이 www.abc.com/admin/..처럼 보이기를 원하지 않지만 adminAreaRegistration 페이지에서 변경 했으므로 www.abc.com/eSales/ 페이지로 변경하지만 현재 문제가있는 플러그인부터 시작하여 CountryState 세금 플러그인이 발생합니다. 문제영역 관리자를 변경하는 방법

.../eSales/Tax/ConfigureProvider?systemName=Tax.CountryStateZip 

제공된 값과 일치하는 경로가 경로 테이블에 없습니다.

설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.

Exception Details: System.InvalidOperationException: No route in the route table matches the supplied values.

소스 오류 :

Line 12: @if (!String.IsNullOrEmpty(Model.ConfigurationActionName)) 
Line 13: { 
Line 14:  @Html.Action(Model.ConfigurationActionName, Model.ConfigurationControllerName, Model.ConfigurationRouteValues); 
Line 15: } 
Line 16: else 

지금 질문은 어떻게이 "관리자"로 변경되어 있습니까? 우리가 누락 된 파일은 무엇입니까? Nop에 매핑 된 것처럼, 플러그인은 nop.web/Plugins 폴더의 이름과 함께 Plugin 폴더에 빌드되며 플러그인 [Projects for Plugin] 폴더는 우리가 얻은 것과 같습니다. Nop 다운로드. 내가 RAW NOP를 실행하고 및 매개 변수의 디버깅 값이 같은 외모 때 http://www.nopcommerce.com/docs/77/how-to-write-a-nopcommerce-plugin.aspx

의 이야기와 흥미로운 것은 그대로 내가 그것을 확인 다른 단어

는이 같은 일을 따르고있다.

무엇이 문제입니까?

몇 가지가 나는 3.00 nopCommerce_3.00_Source] 케이스 또는 난 후,이 방법으로 가고 원본 제어 흐름

  • 가 Tax.CountryStateZip 구성 링크를 클릭 NOP 사용하고

    1. 발견 페이지 관리자/세금에/공급자

    1 - 세금 \ \ nopCommerce_3.00_Source \ 프리젠 테이션 \ Nop.Web \ 관리 \ 조회수 ConfigureProvid 어.cshtml 다음

    @Html.Action(Model.ConfigurationActionName, Model.ConfigurationControllerName, Model.ConfigurationRouteValues); 
    


    2 - 여기가 많은의 시간과 모든 시간 data=null에 대한 반복 것

    nopCommerce_3.00_Source\Presentation\Nop.Web.Framework\Localization\LocalizedRoute.cs 
    
    public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) 
    

    , 다음


    당신은 나의 부분을 고려하는 경우
    nopCommerce_3.00_Source\Plugins\Nop.Plugin.Tax.CountryStateZip\Controllers\TaxCountryStateZipController.cs 
    
    protected override void Initialize(System.Web.Routing.RequestContext requestContext) 
    

    지금, 내 admin=eSales 모두 내가 브레이크 포인트 확인이이 지역을 제외하고 같은 값이지만, 2 단계 이후에 내가 오류

    "No route in the route table matches the supplied values." 
    

    및 제어 흐름 정지를 얻고있다 왜 그런지 모르겠다 고요? "Admin"이라는 단어로 하드 코딩 된 항목이면 어디에서 변경해야합니까?

    당신은 내가 지금이 문제를 일으키는 몇 가지 작은 실수가 될 수 있습니다 Nop는 오래된 너무 많이 아닙니다, 내가 그것을 해결하는 데 도움이 될 수 있다면 그것은 좋은 것,

    와 내가 점점 모든 구성 기본 플러그인을 발견 흥미롭게 같은 문제 admin/plugin 페이지 제가 확인했습니다

  • +0

    남자 뭐? 어떤 도움이나 단서? –

    +0

    지금까지 아무 것도 : ( –

    +0

    너무 늦었 습니다만, 관리자 측에 대해 지정된 경로가 없지만이 경로를 지정할 수 있습니다 –

    답변

    0

    이것은 Tax.CountryStateZip이 관리자에게 라우팅되기 때문에입니다 ... AdminAreaRegistration을 변경하고 다른 이름으로 이름을 지정하려는 경우 모든 플러그인을 수정해야합니다. 관리 영역으로 라우팅 ... 예를 들어 Tax.CountryStateZip을 사용하려면 ... 벨의 영역을 교체해야합니다. 흐름 경로 :

    $(document).ready(function() { 
        $("#@Html.FieldIdFor(model => model.AddCountryId)").change(function() { 
         var selectedItem = $(this).val(); 
         var ddlStates = $("#@Html.FieldIdFor(model => model.AddStateProvinceId)"); 
         $.ajax({ 
          cache: false, 
          type: "GET", 
          url: "@(Url.Action("GetStatesByCountryId", "Country", new RouteValueDictionary() { { "area", "**Admin**" } }))", 
          data: { "countryId": selectedItem, "addAsterisk": "true" }, 
          success: function(data) { 
           ddlStates.html(''); 
           $.each(data, function(id, option) { 
            ddlStates.append($('<option></option>').val(option.id).html(option.name)); 
           }); 
          }, 
          error: function(xhr, ajaxOptions, thrownError) { 
           alert('Failed to retrieve states.'); 
          } 
         }); 
        }); 
    }); 
    

    와 이름으로 대체하는 당신이 그렇게 할 : 지역 = "관리자"

    그 후 라우팅됩니다

    url: "@(Url.Action("GetStatesByCountryId", "Country", new RouteValueDictionary() { { "area", "**YOUR_NEW_ADMIN_AREA_NAME**" } }))", 
    

    등 모든 플러그인 당신 nopCommerce 프로젝트를 다시 컴파일해야합니다

    관련 문제