[설문조사 사이트 테스트]
이름 :
점넷(.Net)
분류 전체보기 (176)
점넷공간 (38)
COMPUTER (1)
.NET (29)
DB (36)
SCRIPT (3)
MarkUp & CSS (3)
OS (7)
IT Story (52)
Information (7)
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2008. 2. 13. 16:39

중첩된 마스터 페이지 시나리오에서 현재 마스터의 부모 마스터 페이지를 가져옵니다.

네임스페이스:  System.Web.UI
어셈블리:  System.Web (System.Web.dll 있음)

 구문

C#

[BrowsableAttribute(false)]

public MasterPage Master { get; }

속성

형식: System.Web.UI..::.MasterPage

현재 마스터 페이지의 부모 마스터 페이지이거나, 현재 마스터 페이지의 부모가 없으면 nullNothingnullptrNull 참조(Visual Basic 경우 Nothing)입니다.

 설명

런타임에 마스터 페이지 계층 구조를 빌드할 없으므로 Master 속성은 읽기 전용입니다.

Topic

Location

How to: Reference ASP.NET Master Page Content

Building ASP .NET Web Applications

How to: Reference ASP.NET Master Page Content

Building ASP .NET Web Applications

How to: Reference ASP.NET Master Page Content

Building ASP .NET Web Applications in Visual Studio

 예제

단원에는 개의 코드 예제가 있습니다. 번째 코드 예제에서는 중첩된 마스터 페이지를 만드는 방법을 보여 주며, 번째 코드 예제에서는 번째 코드 예제에서 만든 마스터 페이지를 참조하는 방법을 보여 줍니다. 번째 코드 예제에서는 콘텐츠 페이지를 사용하여 번째 코드 예제에서 만든 마스터 페이지를 참조하는 방법을 보여 줍니다.

다음 코드 예제에서는 중첩된 마스터 페이지를 만드는 방법과 ParentMasterPage_1이라는 부모 마스터 페이지를 보여 줍니다.

<%@ Master Language="C#" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

 

<html  >

<head runat="server">

    <title>Nested Master Page Example</title>

</head>

<body>

    <form id="form1" runat="server">

    <h1>This is content in the parent master page.</h1>

    <div>

        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

        </asp:contentplaceholder>

    </div>

    </form>

</body>

</html>

다음 코드 예제에서는 위의 코드 예제에서 만든 마스터 페이지를 참조하는 ChildMasterPage_1이라는 중첩된 마스터 페이지를 사용하는 방법을 보여 줍니다.

<%@ Master Language="C#" MasterPageFile="~/ParentMasterPage_1cs.master" %>

 

<asp:Content Runat="Server" ContentPlaceHolderID="ContentPlaceHolder1">

    <h2>This is the content of a nested Master Page.</h2>

    <div>

        <asp:contentplaceholder id="ContentPlaceHolder2" runat="server">

        </asp:contentplaceholder>

    </div>

</asp:Content>

다음 코드 예제에서는 위의 코드 예제에서 만든 ChildMasterPage_1 참조하는 ContentPage라는 콘텐츠 페이지를 사용하는 방법을 보여 줍니다.

<%@ Page Language="C#" MasterPageFile="~/ChildMasterPage_1cs.master" Title="Untitled Page"%>

 

<asp:content runat="server" contentplaceholderid="ContentPlaceHolder2">

This is the content of a Content control.

</asp:content>

 플랫폼

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을를 참조하십시오.

 버전 정보

.NET Framework

3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0에서 지원

 참고 항목

개념

중첩된 ASP.NET 마스터 페이지

참조

MasterPage 클래스

MasterPage 멤버

System.Web.UI 네임스페이스

참조경로 : http://msdn2.microsoft.com/ko-kr/library/system.web.ui.masterpage.master.aspx

2008. 2. 2. 10:53
아래 코드는 현재 블로그에서 적용되고있는 스크립트입니다.
왜 이스크립트를 사용했냐면.. 귀차니즘때문에..ㅋㅋ^^
문제가 뭐였냐면 글을 작성하다보면 링크항목이 몇개씩 있습니다.
기본으로 "_self" 형태로 링크가되어있어 사용자는 링크확인후 뒤로가기로 페이지를 돌아와야 했습니다.
그렇다고 매번 링크에 target을 "_blank"로 변경해주는것도 한두번이지 많은 링크가 있을땐 어이쿠....

그리하여 document.links로 링크객체들의 타겟속성을 "_blank"로 변경해주었더니
링크가 되는 부분은 전부 새창으로 뜨면서(관리자모드까지..) 더불편해지더라구요
그리하여 내린 대책이 특정영역의 특정태그에 대해서 속성을 변경하면 좋겠다고 생각을 했습니다.

분문에 해당하는 div태그에 id를 "mcontents"
로 설정해주고 해당영역에 존재하는  <a>태그들에게 타겟을 새창뜨기로 변경하였더니 본문에 해당하는 링크항목(<a>)만 새창으로 활성화가 되더라구요^^
저와 같은 고민을 하고 계시는 분은 한번적용시켜보세요^^

function setTarget()
{
  // id가 'mcontents'인 영역안의 'a'태그의 항목을 가져와서 속성을 변경
  for(var i=0; i<document.getElementById("mcontents").getElementsByTagName("A").length; i++)
  {
    document.getElementById("mcontents").getElementsByTagName("A")[i].target = "_blank";
  }
}


이번 설정으로 링크 목록의 정보를 가져오는 예제도 한번 만들어 보았습니다.
소스코드는 http://www.koxo.com 사이트에서 참조하였구요(레이아웃 잡는게 귀찮아서;;)
예제는 문서의 모든영역의 링크속성정보 혹은 특정 영역의 특정태그에 대한 속성정보를 보여주는 예제입니다.
특정영역의 특정태그는 위에서 사용했던 "sample" 영역의 <A> 태그만 적용하겠습니다.
(약간만 수정하면 여러형태고 사용이 가능합니다. ^^)
소스코드 아래 샘플도 있으니 확인해보시면 더욱 좋습니다.

<script type="text/javascript" language="javascript">

// 전체 항목에 있는 링크목록 보여주는 함수

function showAll()

{

  ShowInfo(document.links);

}

// 특정영역에 있는 특정태그 목록을 보여주는 함수(여기서는 A 태그만 사용)

function targetAll()

{

    ShowInfo(document.getElementById("sample").getElementsByTagName("A"));

}

// 특정 오브젝트를 받아서 해당 오브젝트의 정보를 보여주는 함수

function ShowInfo(obj)

{

  // 창단기 문자열을 변수로 만든다.

  closeStr='<SPAN style="border:solid 1 gray;padding:3;background:ffa;float:right;cursor:hand" ';

  closeStr+='onClick=self.close()>창닫기</SPAN>';

  // 테이블을 시작한다.

  str=closeStr+'<TABLE border=1 cellpadding=1 cellspacing=0 width=100% align=center>';

  // 테이블 제목을 넣는다.

  str+='<TR bgcolor=eeeeee><TH>#</TH><TH>protocol</TH><TH>href</TH>';

  str+='<TH>hash</TH><TH>target</TH><TH>host</TH></TR>';

 

  // 출력할 윈도우를 열고 이름(newWin)을 부여한다.

  newWin=window.open('','newWin','width=900,height=500,top=100,left=50,toolbars=no,scrollbars=yes');

 

  // 연결 배열변수 길이만큼 반복하는 루프를 시작한다.

  for (numb=0;numb<obj.length;numb++){

    // 번호를 넣는다.

    str+='<TR><TD>links['+numb+']</TD>';

    // 프로토콜을 넣는다.

    str+='<TD>'+(obj[numb].protocol?obj[numb].protocol:'&nbsp;')+'</TD>';

    // 각각 삼항식으로 빈칸이면 공백문자(&nbsp;)를 넣는다.

   

    // 연결주소를 넣는다.

    str+='<TD>'+(obj[numb].href?obj[numb].href:'&nbsp;')+'</TD>';

    // 부위지정자를 넣는다.

    str+='<TD>'+(obj[numb].hash?obj[numb].hash:'&nbsp;')+'</TD>';

    // 중복성이므로 생략한다.

//    str+='<TD>'+(obj[numb].search?obj[numb].search:' ')+'</TD>';

    // 목표 프레임을 넣는다.

    str+='<TD>'+(obj[numb].target?obj[numb].target:'&nbsp;')+'</TD>';

    // 호스트를 넣는다.

    str+='<TD>'+(obj[numb].host?obj[numb].host:'&nbsp;')+'</TD>';

    // 중복성이므로 생략한다.

//    str+='<TD>'+(obj[numb].pathname?obj[numb].pathname:' ')+'</TD>';

    str+='</TR>'; // 테이블 한줄을 닫는다.

  } // 루프를 종료한다.

 

 

  str+='</TABLE>'+closeStr; // 테이블을 닫는다.

  newWin.document.write(str); // 결과를 보조창에 출력한다.

}

</script>


 

<div class="show" title="결과">

<input type="button" value="문서내 모든 링크정보 보기" onclick="showAll()" />

<input type="button" value="특정 영역 링크정보 보기" onclick="targetAll()" />

</div>

<div id="sample">

<a href="http://www.naver.com" target="_blank">네이버</a>

</div>

<div>

<a href="http://www.daum.net" target="_top">다음</a>

</div>



다음

━━━━━━━━━━━━━━━
by 한상국(han3925)
MAIL  han3925@gmail.com
         han3925@hotmail.com
BLOG pointnet.tistory.com
━━━━━━━━━━━━━━━

2008. 2. 1. 01:00
[DB]

지정한 시작 지점에서 지정한 문자 길이를 삭제한 다음 다른 문자 집합을 삽입합니다.

Transact-SQL 구문 표기 규칙

 구문

STUFF ( character_expression , start , length ,character_expression )

 인수

character_expression

문자 데이터의 입니다. character_expression 문자나 이진 데이터의 , 상수 또는 변수일 있습니다.

start

삭제 삽입 시작 위치를 지정하는 정수 값입니다. start length 음수이면 null 문자열이 반환됩니다. start 번째 character_expression보다 길면 null 문자열이 반환됩니다. start bigint 형식일 있습니다.

length

삭제할 문자 수를 지정하는 정수입니다. length 번째 character_expression보다 길면 마지막 character_expression 마지막 문자까지 삭제됩니다. length bigint 형식일 있습니다.

 주의

결과 값이 반환 유형이 지원하는 최대값보다 크면 오류가 발생합니다.

 반환 형식

character_expression 지원되는 문자 데이터 형식 하나인 경우 문자 데이터를 반환합니다. character_expression 지원되는 이진 데이터 형식 하나인 경우 이진 데이터를 반환합니다.

위내용은 MSDN에 나와있는 내용입니다.

select stuff(문자열,시작인덱스,삭제사이즈,추가문자열)

위 문자을 보시면 첫번째 파라메타는 변경하고자하는 문자열입니다.
두번째 파라메타는 삭제및 추가를 위한 인덱스가 되겠죠( 참고로 mssql에서는 시작인덱스는 1입니다.)
세번째 파라메타는 시작인덱스를 기준으로 삭제될 문자열의 길이가 됩니다.
네번째 파라메타는 삭제가된 위치에 추가할 문자열이 됩니다.

이내용을 가지고 몇가지 예제를 만들어 보겠습니다. 역시 예제가 있어야 이해하기가 쉽죠^^

select
stuff('123456',2,3,'a')
--결과 : 1a56

select
stuff(null,2,3,'a')
--결과 : null

select
stuff('',2,3,'a')
--결과 : null

select
stuff('1',2,3,'a')
--결과 : null

select
stuff('12',2,3,'a')
--결과 : 1a

예제를 보시면 알겠지만 변경하고자 하는 문자열의 길이가 시작인덱스보다 작으면 NULL이 반환됩니다.
변경하고자하는 문자열이 NULL이면 당연히 NULL이 나오겠죠? ^^

원문MSDN 가기
━━━━━━━━━━━━━━━
by 한상국(han3925)
MAIL  han3925@gmail.com
         han3925@hotmail.com
BLOG
pointnet.tistory.com
━━━━━━━━━━━━━━━

2008. 1. 31. 12:18
[DB]

데이터베이스 내에 만들어진 각 사용자 정의 스키마 범위 개체에 대한 행을 포함합니다.

참고:
sys.objects는 스키마 범위가 아니기 때문에 DDL 트리거를 표시하지 않습니다. DML 및 DDL 트리거 모두 sys.triggers에 있습니다. sys.triggers는 다양한 종류의 트리거에 대한 이름-범위 혼합 규칙을 지원합니다.

sys.objects에 표시된 개체에 OBJECT_ID, OBJECT_NAMEOBJECTPROPERTY() 기본 제공 함수를 적용할 수 있습니다.

이 뷰와 스키마가 같지만 시스템 개체를 표시하는 sys.system_objects 뷰 버전과 시스템 및 사용자 개체를 모두 표시하는 sys.all_objects 뷰 버전이 있습니다. 세 카탈로그 뷰 모두 구조가 같습니다.

참고:
모든 시스템 개체는 sys 또는 INFORMATION_SCHEMA 스키마에 포함됩니다.

열 이름 데이터 형식 설명

name

sysname

개체 이름입니다.

object_id

int

개체 ID입니다. 데이터베이스 내에서 고유합니다.

principal_id

int

스키마 소유자와 다른 경우 개별 소유자의 ID입니다. 기본적으로 스키마에 포함된 개체는 스키마 소유자가 소유합니다. 그러나 ALTER AUTHORIZATION 문으로 대체 소유자를 지정하여 소유권을 변경할 수 있습니다.

대체 개별 소유자가 없으면 NULL입니다.

개체 유형이 다음 중 하나인 경우 NULL입니다.

C = CHECK 제약 조건

D = DEFAULT(제약 조건 또는 독립 실행형)

F = FOREIGN KEY 제약 조건

PK = PRIMARY KEY 제약 조건

R = 규칙(이전 스타일, 독립 실행형)

TA = 어셈블리(CLR 통합) 트리거

TR = SQL 트리거

UQ = UNIQUE 제약 조건

schema_id

int

개체가 포함된 스키마의 ID입니다.

SQL Server 2005와 함께 제공된 모든 스키마 범위 시스템 개체의 경우 이 값은 항상

IN (schema_id('sys'), schema_id('INFORMATION_SCHEMA'))입니다.

parent_object_id

int

이 개체가 속하는 개체의 ID입니다.

0 = 자식 개체가 아닙니다.

type

char(2)

개체 유형입니다.

AF = 집계 함수(CLR)

C = CHECK 제약 조건

D = DEFAULT(제약 조건 또는 독립 실행형)

F = FOREIGN KEY 제약 조건

PK = PRIMARY KEY 제약 조건

P = SQL 저장 프로시저

PC = 어셈블리(CLR) 저장 프로시저

FN = SQL 스칼라 함수

FS = 어셈블리(CLR) 스칼라 함수

FT = 어셈블리(CLR) 테이블 값 함수

R = 규칙(이전 스타일, 독립 실행형)

RF = 복제 필터 프로시저

S = 시스템 기본 테이블

SN = 동의어

SQ = 서비스 큐

TA = 어셈블리(CLR) DML 트리거

TR = SQL DML 트리거

IF = SQL 인라인 테이블 값 함수

TF = SQL 테이블 값 함수

U = 테이블(사용자 정의)

UQ = UNIQUE 제약 조건

V = 뷰

X = 확장 저장 프로시저

IT = 내부 테이블

type_desc

nvarchar(60)

개체 유형에 대한 설명입니다.

AGGREGATE_FUNCTION

CHECK_CONSTRAINT

DEFAULT_CONSTRAINT

FOREIGN_KEY_CONSTRAINT

PRIMARY_KEY_CONSTRAINT

SQL_STORED_PROCEDURE

CLR_STORED_PROCEDURE

SQL_SCALAR_FUNCTION

CLR_SCALAR_FUNCTION

CLR_TABLE_VALUED_FUNCTION

RULE

REPLICATION_FILTER_PROCEDURE

SYSTEM_TABLE

SYNONYM

SERVICE_QUEUE

CLR_TRIGGER

SQL_TRIGGER

SQL_INLINE_TABLE_VALUED_FUNCTION

SQL_TABLE_VALUED_FUNCTION

USER_TABLE

UNIQUE_CONSTRAINT

VIEW

EXTENDED_STORED_PROCEDURE

INTERNAL_TABLE

create_date

datetime

개체를 만든 날짜입니다.

modify_date

datetime

ALTER 문을 사용하여 개체를 마지막으로 수정한 날짜입니다. 개체가 테이블이나 뷰인 경우 테이블이나 뷰에서 클러스터형 인덱스가 생성되거나 변경되면 modify_date도 변경됩니다.

is_ms_shipped

bit

개체가 내부 SQL Server 구성 요소로 만들어집니다.

is_published

bit

개체가 게시됩니다.

is_schema_published

bit

개체의 스키마만 게시됩니다.


참조 : MSDN (http://technet.microsoft.com/ko-kr/library/ms190324.aspx)
2008. 1. 26. 12:03
사용자 삽입 이미지

2008.01.17 asp.net의 아버지라고 불리는 스콧구슬리(Scott Guthrie) 의 첫한국방문 세미나가 있었다 김국현 전도사의 진행으로 세미나가 진행되었다고 하는데 나는 회사업무때문에 그열기에 참여하진 못했다.
하지만 Microsoft MSDN 세미나에서 동영상으로 그현장의 열기를 제공해 주었다.
아래 링크로 해당 동영상을 확인할수 있다. 참고로 스콧 구슬리의 블로그도 함께 링크 해두었다.

이번 세미나에서 보여주었던 기술과 샘플들은 개발자를 위해 마이크로소프트가 많은 노력을 하고있다는걸 느낄수 있었다.
그리고 닷넷의 미래에 대해서도 어느정도 언급해주었다.
좋은 정보도 많고 배울점도 많았던 이번세미나의 자세한 내용은 해당동영상을 보면 느낄수있다.

보러가기
스콧 구슬리 블로그