2012-04-23 1 views
-1

현재 웹 응용 프로그램에서 일부 자연어 구문 분석에 대한 설정 중 일부 설정을 사용자가 수정할 수 있도록 허용하려고합니다.다른 작업에서 사용할 사용자 정의 구성 설정 저장

그러나 이러한 설정을 전달하는 방법에 대해 혼란스러워합니다. 사용자가 홈 페이지에서 설정 페이지로 이동하고 양식 제출시 사용자가 행복하게 검색 할 수있는 홈 페이지로 다시 이동합니다.

관련 코드는 다음과 같습니다

public ActionResult Settings(Configuration configuration) 
    { 
     TempData["configStructure"] = configurationStructure; 
     return RedirectToAction("ConfigSet", "Home", configuration); 
    } 

그리고 홈 컨트롤러 :

public ActionResult ConfigSet(Configuration configuration) 
{    
    return View("Index"); 
} 

내가 가진 부분도 발생 해요 : 렌더링 부분보기로

public PartialViewResult Search(string q) 
{ 
    List<Stuff> results = this.Search(q); 
    return PartialView("SearchResults", results); 
} 

을 이렇게 :

@model MyApp.MySettings.ConfigurationApi 

@if (Model == null) 
{ 
    using (Ajax.BeginForm("Search", "Home", new AjaxOptions 
    { 
     HttpMethod = "GET", 
     InsertionMode = InsertionMode.Replace, 
     UpdateTargetId = "searchResults", 
    })) 
    { 
     <input type="text" name="q" /> 
     <input type="submit" value="Search" /> 
    } 
} 
else 
{ 
    using (Ajax.BeginForm("Search", "Home", new { configuration = Model }, new AjaxOptions 
    { 
     HttpMethod = "GET", 
     InsertionMode = InsertionMode.Replace, 
     UpdateTargetId = "searchResults", 
    })) 
    { 
     <input type="hidden" name="configuration" /> 
     <input type="text" name="searchString" /> 
     <input type="submit" value="Search" /> 
    } 
} 

기본적으로 설정 페이지에서 홈 페이지로이 값을 전달하고 해당 사용자에게 설정을 연결하는 방법에 대해 혼란스러워합니다.

답변

1

사용자가 인증 된 경우 다음에 웹 사이트를 방문 할 때 사용자가 설정하도록하려면 Asp.Net 회원 프로필을 고려해야합니다. 데이터베이스에 설정을 저장하도록 선택할 수도 있습니다.

개체를 Session 변수에 저장하는 옵션이 있지만 일부 사용자는 분노하게 만듭니다.

또한 사용자를 Home.Index로 리디렉션하기 전에 설정을 ViewBag에 저장하는 옵션이 있습니다. 보기를 반환하기 전에 ViewBag.Settings = configuration을 설정하여이 작업을 수행 할 수 있습니다. 그런 다음보기에서 @ViewBag.Settings의 설정에 액세스 할 수 있습니다. 이 방법은 손실이 있습니다 ... 다른 페이지로 이동하면 설정을 잃어 버렸습니다.

인증되지 않은 사용자의 경우 세션이 이동하는 방법 일 수 있습니다.

관련 문제