2014-05-22 1 views
0

저는 ASP.NET masterpages를 사용하고 있습니다. 템플리트가 한 번에 페이지 제목을 지정할 수 있도록하고 싶습니다. 그러면 <head><title>Title Element</title></head><h1>Page Header</p1>에 모두 사용됩니다. asp : 여러 위치에 콘텐츠를 표시 하시겠습니까?

나는 내가 원하는 일을 할 것처럼 코드의 조각을 발견,하지만 난 그것을 조금 적응 그래서 VB에서 대신 C#을이었다 생각 :

<asp:content ContentPlaceHolderId="Head" runat="server"> 
    <title><asp:ContentPlaceHolder Id="Title" runat="server"> 
    </asp:ContentPlaceHolder></title> 
</asp:content> 

<asp:content ContentPlaceHolderId="PageHeading1" runat="server"> 
    <% 
    LiteralControl title = Title.Controls.Item(0).Text; 
    Response.Write(title.Text); 
    %> 
</asp:content> 

이 코드는 나에게 다음과 같은 오류를 제공을 :

CS1061: 'System.Web.UI.ControlCollection' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'System.Web.UI.ControlCollection' could be found (are you missing a using directive or an assembly reference?) 

저는 ASP.NET과 Umbraco에서 매우 새롭습니다. 따라서 제발 쉽게 가십시오.

감사합니다,

YM

답변

1

C#을 인덱서에 대한 대괄호를 사용합니다.

오류는 컴파일러가 ControlCollection에 존재하지 않는 방법라는 항목을 찾을 수 없습니다 말하는

LiteralControl title = Title.Controls.Item(0).Text; 

LiteralControl title = Title.Controls[0].Text; 

로 변경합니다.

이 읽기, 그것은 여전히 ​​이전의 C# 버전하지만 유용한 접지의 가치가있다 - http://msdn.microsoft.com/en-us/library/aa288462(v=vs.71).aspx

+0

아, VB 대괄호를 사용하지 않았다는 것을 깨닫지 못했다. 나는 Item *이 방법이라고 생각했다. –

+0

허, 아직도 같은 오류가 발생합니다. –

+0

죄송하지만, 나는 독서에 끔찍합니다. –