2011-03-24 2 views
2

가 나는 세부 과목 볼 수 있습니다. 이보기에, 나는 많은 정보를 가지고, 그래서 나는 좋은 JQuery와 UI 탭 섹션으로 그것을 깨고 모든 MVC 및 JQuery와 UI 탭 - 어떻게 다양한 작업에서 탭으로 고정합니까?

탭의 일부

이 그들에 형태를 가지고 ... 제외 ... 중대하다. 내가 양식 중 하나를 제출 한 후 예를 들어, ... 등 작업, 편집 명단을 추가, 교육 자료를 업로드, 나는 세부로 리디렉션 다음 내 컨트롤러에서 작업을 수행 할 볼을 다시 만 이번에는 내가되고 싶어 내가 제출하기 전에 탭에 고정되었습니다. Tabs 문서에 따르면 URL 끝 부분에 # tabs-4 또는 # tabs-n을 추가하는 것만 큼 간단하지만 내 컨트롤러에 어떻게 할 것인지 알려주지는 못합니다 ...

내 양식의 컨트롤러 액션 중 하나가 다음

public ActionResult CreateTask(Task task) 
{ 
    db.Add(task); 
    db.Save(); 
    //I want to go to /details/id + #tabs-4. How? 
    return RedirectToAction("Details", new { id = task.CourseID }); 
} 

을 (간체)이며, 그래서 만약 내가보기 같은 세부 사항에 리디렉션 다른 방법을 가지고 싶습니다

public ActionResult Details(int id) 
    { 
     Course course = db.GetCourse(id); 

     // How do I tell the view to open #tabs-4 or 3 or 2?? 
     return View(course); 
    } 

또한 (간체)입니다 자세한 사항 , 대신 # tabs-3, # tabs-2 등을 주면됩니다. 그래서 첫 번째 방법으로 설정해야한다고 가정합니다 , 세부 동작에 전달합니다.

답변

2
var url = Url.RouteUrl(new { action = "Details", id = task.CourseID }); 
return Redirect(url + "#tabs-4"); 
1

당신은 UrlHelper.GenerateUr리터 방법을 사용 fragment로 앵커를 통과 할 수 있습니다.

UrlHelper에 확장 메서드를 추가하여 호출을 GenerateUrl으로 랩핑합니다. 매개 변수가 10 개이며 모든 경우에 수동으로 모든 매개 변수를 제공 할 필요가 없습니다.