... 실제로 전혀 문제가되지 않을 수도 있지만, 지금 당장 나에게 보이는 모습입니다.
여러 계층의 상속을 가진 컨트롤러 구조를 가지고 있습니다. 기본 컨트롤러는 컨트롤러를 구현하고
Create(Guid var1, DateTime? var2)
라는 메소드를 가지고 있습니다.
/MyDomain/Create/00000-0000-0000-000000
와 같이 불립니다
.
현재 서명 트리
Create()
를 사용하여 상속 트리에서 컨트롤러의 메소드를 구현하려고합니다.
QueryString 매개 변수를 사용합니다. (와이즈 와이즈)
) 그러나 ASP.NET은 이것이 "종점"으로 유효하지 않다고 판단하고
/MyDomain/Create?otherVar=somevalue
라는 오류 메시지를 표시합니다.
여기서 무슨 일이 일어나고 있는지 모르겠습니다. 동일한 컨트롤러에서 다른 메소드를 호출하려고하면 (예 :
The parameters dictionary contains a null entry for parameter 'var1' of non-nullable type 'System.Guid' for method 'System.Web.Mvc.ActionResult Create(System.Guid, System.Nullable`1[System.DateTime])'
와 같이 상속 스택에서 고유하지 않고 이름이 높지 않은 이름으로)
) 문제없이 작동합니다.
이 문제로 google-fu가 부족합니다.
/MyDomain/DifferentMethod
- 답변 # 1
관련 자료
- node.js - nestjs - 동일한 컨트롤러에서 여러 get 메서드를 구현할 수 없습니다
- c# - 한 컨트롤러에서 다른 컨트롤러의보기로보기 전달
- Rails - 울타리 - 컨트롤러의 사용자 정의 방법을 기존 방법으로 변경하려면 어떻게합니까?
- 파이썬 적용 범위 테스트로 더 이상 사용되지 않는 메소드 무시
- ios - 1 개의 View Controller에서 2 개의 다른 별도의 View Controller로 어레이 보내기
- Rails 5 API 앱에서 RSpec을 사용하여 컨트롤러 관련 메소드를 테스트하는 방법
- ios - 탭 막대 제어기의 탐색 제어기의 가시적보기 제어기 캐스트
- MapStruct 130 최종 비 getter-setter 메소드를 무시하지 마십시오
- c# - 특정 컨트롤러의 모든 방법에서 오류 500이 발생합니다
- laravel - artisan - make controller의 컨트롤러에 메소드를 추가하려면 어떤 플래그를 사용할 수 있나요?
- javascript - 다른 컨트롤러에서 Loopback4 컨트롤러의 메소드를 호출하는 방법
- spring - 컨트롤러에 메소드 전달 - javalanglong은 javalanginteger로 캐스트 할 수 없습니다
- c++ - 자식이 동일한 이름과 다른 서명을 가진 다른 메서드를 재정의하는 경우 기본 클래스 메서드는 상속되지 않습니다
- php - MVC에서 단일 컨트롤러에 비해 여러 컨트롤러의 장점은 무엇입니까?
- java - 모든 컨트롤러 및 요청 매핑 방법을 얻는 방법
- 매개 변수별로 다른 Spring 컨트롤러 메서드의 순서
- codeigniter - 내 컨트롤러 중 하나에서 하나의 컨트롤러 인스턴스에 액세스하는 방법은 무엇입니까?
그래서 다음과 같은 것이 있습니다 :
및
문제는 같은 이름과 다른 서명을 가진 2 개의 경로를 가질 수 없다는 것입니다. url '/ blalbalba/Create /'마녀와 함께 라우팅이 가고 싶은 곳을 정확히 알지 못하기 때문입니다. 기본 클래스 또는 상속 된 적이 있습니까? 그렇게 명확하지 않습니다.
P는이 답변을 살펴 봅니다 :
ASP.NET MVC 모호한 동작 방법