ASP.NET MVC site.master에 전역 메뉴를 구축하려고하는데 site.master에서 Application Settings 속성에 액세스하는 방법에 대해 궁금합니다. 마크 업? 이전에는 아마도 site.master의 코드 숨김에서 config 객체를 인스턴스화 한 다음 공용 속성을 설정했을 것입니다. 하지만 지금은 내 머리를 긁적이고 ... 커피가 더 필요합니다. ASP.NET MVC보기에서 응용 프로그램 설정 액세스
는 응답 코드
추가 base을 호출 한 어플리케이션의 propererties 설정을 문자열로 업데이트 "http://mysite.com는"
이
public class GlobalMenu
{
private string _baseurl;
public string baseurl
{
get { return _baseurl; }
set
{
_baseurl = value;
}
}
}
GlobalMenu.cs
의 모델 클래스를 만들어 그것의 값을 준
BaseController라는 이름의 기본 컨트롤러 클래스를 만들고 Controller에서 상속했으며 Overroad OnActionExecutedly :
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
string baseurl = Properties.Settings.Default.baseurl;
GlobalMenu menumodel = new GlobalMenu();
menumodel.baseurl = baseurl;
ViewData["menudata"] = menumodel;
base.OnActionExecuted(filterContext);
}
은 다음과 같습니다 강하게 GlobalMenu에 입력 된 공유 폴더에 ViewGlobalMenu라는 부분 뷰를 만든 ...하지만 분명히 더 많은 물건과 마지막으로
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.Web.Models.GlobalMenu>" %>
Site.Master I에서 메뉴에 표시 할 위치를이 위치에 추가했습니다.
<%Html.RenderPartial("ViewGlobalMenu", (MyApp.Web.Models.GlobalMenu)ViewData["menudata"]); %>
스냅처럼 작동 ... 감사합니다! 위의 샘플 코드 추가. – Webjedi
기본 컨트롤러에서 모든 컨트롤러를 파생해야한다는 것을 잊지 않는 한. 현재 HttpModule 또는 HttpHandler 내에서 Properties 개체를 읽는 솔루션을 찾고 있습니다. – belugabob
@belugabob - 우리가 테스트하는 이유입니다. – tvanfosson