2012-05-24 3 views
3

상태를 유지하기 위해 매우 긴 쿼리 문자열을 가질 가능성이있는 응용 프로그램에서 작업하고 있습니다.MVC에서 긴 쿼리 문자열을 처리하는 가장 좋은 방법은 무엇입니까?

매우 긴 매개 변수 목록으로 끝날 것이므로이 긴 쿼리 문자열을 처리하는 가장 좋은 방법은 무엇인지 모르겠습니다.

요청 개체에서 쿼리 문자열 매개 변수에 직접 액세스하는 것이 가장 좋습니까? 그렇지 않으면 매우 긴 매개 변수 목록을 사용하여 작업 메서드를 만들어야합니까?

즉 페이지를 사용자 지정하기 위해 구성 매개 변수를 전달해야하는 숫자입니다. 그래서 우리는 다음과 같은 쿼리 문자열이있을 수 있습니다 : 제거 = 123 & 입찰 = & CID = 789 (456) &했다 = AAA & BG = 333 & F = 999 & .....

 public ActionResult AvailableTimes(int rid, int bid, int cid, string did, string bg, string f......) 
     { 
      // Do stuff 
     } 

또는

public ActionResult AvailableTimes() 
     { 
      var query = Request.Query; 
      // Do stuff 
     } 

미리 감사드립니다.

+0

가장 좋은 방법은 세션 또는 프로필과 같은 쿼리 문자열 데이터를 다른 곳으로 이동하는 것입니다. – jrummell

+2

당신이 겪을 수있는 것을 예를 들어주세요 ... –

+0

@ edmastermind29가 – ranjez

답변

5

쿼리 문자열의 모든 매개 변수를 포함하는 클래스를 만듭니다. 그런 다음 작업 결과에서 모든 매개 변수 대신 개체를 사용하십시오.

public ActionResult AvailableTimes(TimeItem time) 
     { 
      // Do stuff with time 
     } 
public Class TimeItem 
{ 
    int rid { get; set; } 
    int bid { get; set; } 
    int cid { get; set; } 
    string did { get; set; } 
    string bg { get; set; } 
} 
+0

이 질문에 대한 답변을 얻었습니까? – Steve

+0

FormMethod.Post를 사용하지 않는 한 @Steve – ranjez

+0

보다 예, 긴 쿼리 문자열이 계속 발생합니다. 사실, 변수가 TimeItem.rid, TimeItem.bid, TimeItem.cid 등이 될 것이므로 더 길어집니다. – JoeBrockhaus

관련 문제