2010-03-30 2 views
1

리소스 파일을 사용하도록 ASP.NET 웹 응용 프로그램을 변환하려고합니다. 이전에 리소스 파일을 사용하지 않았기 때문에 나는 그들과 함께 놀고있어 이것이 가능한지 궁금해하고있었습니다.리소스 파일에 서버 측 코드와 html을 혼합하여 처리합니까?

결과를 찾지 못하면 검색에서 돌아오고 사용자에게 홈 페이지로 돌아가라는 메시지가 표시됩니다. 이 페이지의 많은 사용자를 보낼 수있는 적절한 페이지 무엇인지 결정하는 방법이 있으므로 이와 유사한 마크 업 많은 부분이 있습니다 :

죄송하지만, 우리는 검색과 일치하는 항목 을 찾을 수 없습니다 기준.

<a href="<%= SomeMethodToDetermineUri() %>"> (SomePage) </a>으로 검색 기준을 조정하십시오.

그래서 기본적으로 메시지 유형과 링크 또는 링크 목록이 이어집니다. 메시지 부분을 얻는 것은 문제가없는 링크를 생성하는 서버 측 코드입니다.

리소스 파일에 저장하는 가장 좋은 방법은 무엇입니까? html 링크 부분을 잘 인식 할 수 있지만 서버 측 코드는 일반 텍스트로 삽입됩니다.

2 가지 리소스로 나누는 유일한 방법은 무엇입니까? (어느 쪽이 더러워 보입니까)

<%= Resources.Master.NoSearchResultsFound %> 
<a href="<%= SomeMethodToDetermineUri() %>"> 
    <%= Resources.Master.NoSearchResultsFoundReturnLinkText %> 
</a>. 

또는 서버 코드를 평가하는 페이지를 가져 오는 방법이 있습니까?

답변

1

바하마, 내 오랜 친구 String.Format

<%= String.Format(Resources.Master.NoSearchResultsFound, SomeMethodToDetermineUri() %> 

가 완벽하게 정상적으로 작동 잊었다.

그런 다음 리소스 파일의 값은

미안하지만, 우리는 당신의 검색 기준과 일치하는 항목을 찾을 수 없습니다.

검색 기준 또는 <a href="{0}">return to (SomePage)</a>을 조정하십시오.

1

사이트에 비슷한 기능이있는 경우 사용자 컨트롤이나 마스터 페이지를 사용하여 수행하려는 작업을 처리하는 것이 좋습니다. 저는 리소스가 프로젝트 외부의 파일과 함께 사용된다고 생각합니다.

+0

기능과 메시지가 동일하지 않은 것은 그 예입니다. 내가 비슷한 것을 말했을 때, 나는 (일부 텍스트) (링크를 생성하기위한 일부 서버 측 코드) (더 많은 텍스트)가 프로젝트 전반에 걸쳐 사용된다는 것을 의미했다. 그것은 서버 측 코드 부분으로, 사용자에게 메시지를 사용자 정의하기 위해 도로에서 충돌하는 부분입니다. 혼란에 죄송합니다. 질문을 업데이트했습니다. – Brandon

+0

나는 혼란 스럽다. 어째서 asp : Literal 태그를 사용하고 App_Code에서 모든 작업을 수행하는 클래스를 만드는 것이 좋을까요? –

+0

글쎄, 나는 혼란 스럽다 : P 리터럴 컨트롤을 사용하면 어떻게 도움이 될까? 나는 여전히 URL을 생성하는 두 가지 리소스와 방법을 서로 부숴 버릴 것입니다. 다른 곳에서해야 할 것입니다. – Brandon

1

리소스 파일에 어떤 종류의 코드도 넣고 싶지는 않습니다. 귀하의 솔루션은 비록 그것이 지저분하다고 생각 되더라도 올바른 것입니다.

당신이 할 수있는 유일한 다른 작업은 이것을 사용자 정의 컨트롤에 캡슐화하는 것입니다. 사용자 정의 컨트롤은 리소스를 가져오고 따라서 페이지에서 지저분한 점을 숨길 것입니다.

+0

+1, usercontrol가 작동합니다, 문제는 이것이 정말 큰 웹 응용 프로그램이라는 것입니다. 각 섹션에 대한 사용자 제어를 만드는 것은 재미 있지 않을 것입니다. : P – Brandon

+0

@Brandon : 당신이 모든 통제권을 썼다고 가정하십시오. 자, 그들 사이의 차이점은 무엇입니까? 그 차이점 중 일부를 속성에 포함시킬 수 있습니까? 어쩌면 사용자가 레이블 리소스의 이름과 '' 태그 내에서 사용할 리소스에 대한 속성을 제어 할 수 있습니다. 그런 다음 하나의 컨트롤 만 있습니다. –

관련 문제