1
URL에 조건부 쿼리 문자열을 추가하는 데 문제가 있습니다.조건부 쿼리 문자열을 MVC 4의 URL에 추가하려면 어떻게해야합니까?
if the url == domain/controller/action then
do nothing
if the url == domain/controller/action?referenceNumber=xxxx then
url = domain/controller/action?referenceNumber=xxxx&newParameter=yyyy
나는 운이없이 OnActionExecuting
을 무시하는 것을 시도했다, 나는 RouteConfig에 매우 강한 아닙니다.
아이디어가 있으십니까?
나는
protected override IAsyncResult BeginExecute(RequestContext requestContext, AsyncCallback callback, object state)
{
var path = requestContext.HttpContext.Request.RawUrl;
if(myCondition)
{
requestContext.HttpContext.RewritePath(string.Format("{0}&newParameter={1}", path, getNewParameter());
}
return base.BeginExecute(requestContext, callback, state);
}
다음이가 HttpContext.Request.Url
를 업데이트 할 것이다 시도했지만 브라우저에서 URL을 반영하지 않을 것입니다.
이 문제를 극복하는 방법은 무엇입니까? 어떤 단서?
이 코드는 어디서 볼 수 있는지 더 좋은 방법이 있습니다. 컨트롤러에 있다면 MVC가 라우팅에 관한 것이기 때문에 이해가되지 않습니다. 코드가 실행되는 위치를 알려주십시오. –
@JohnPeters 신속한 답변을 부탁드립니다. 컨트롤러 수준입니다. 앞서 언급했듯이 Routing에서 그렇게 강력하지는 않습니다.이 문제를 해결하는 방법을 모르겠습니다. – mahfuz01
일반적인 Get Post 작업 흐름입니다. 동일한 이름을 가진 두 가지 작업 메서드가 필요합니다. 하나는 GET 전용입니다. POST에 대해서만 다른 요청합니다. Post 메소드는 문자열을 받아들이거나 ViewModels 안에 Viewodel에 포함 된 속성을 들여다 볼 수 있습니다. 개인적으로보기 모델을 사용하는 것이 훨씬 쉽습니다. 결론적으로 MVC 포스트 패턴에 대해 배워야한다. –