지금. 많은 개발자가 이미 ASP.NET 2.0의 WebResource 기능을 사용하고 있습니다. WebResource를 사용하면 리소스를 어셈블리에 포함할 수 있습니다. 이미지, 텍스트 등이 포함됩니다.
WebResource를 소개할 때 WebResource.axd를 소개해야 하는데,script Language="javascript" src="WebResource.axd?a=s&r=WebUIValidation.js&t=631944362841472848" type="text/javascript"></를
살펴보겠습니다
.script >현재 webResource.axd의 매개변수가 현재 버전과 다른 것을 발견했습니다. 이전 기사에서 속성 소개:
어셈블리 이름
r 리소스 파일 이름
t 어셈블리가 마지막으로 수정된 시간
webResource.axd는 ISAPI의 매핑일 뿐입니다. IhttpHandler를 사용할 수도 있습니다. <add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" /> webResource.axd는 AssemblyResourceLoader 클래스를 사용하여 HTTP 요청 처리를 사용자 정의하고 다음을 기반으로 어떤 프로그램이 시작되는지 식별합니다. 쿼리에 의해 전달된 프로그램. 어셈블리에서 가져올 리소스.
다음에서는 스피너 컨트롤을 예로 사용합니다.
사용법 단계:
항목에 포함할 리소스(예: 이미지)를 추가합니다. 리소스 관리자에서 파일을 클릭하고 속성 창의 빌드 작업에서 포함된 리소스를 선택합니다.
Assessmentbly.cs 파일에 다음 파일을 추가하세요.
[어셈블리: WebResource("Obies.Web.UI.WebControls.NumericTextBox.js", "application/x-javascript")]
[어셈블리: WebResource("Obies.Web.UI.WebControls.NumericTextBox_Silver_BtnUp.gif", "image/gif")] WebResourceAttribute 형식에 유의하세요.
[어셈블리: WebResourceAttribute("MyNameSpaces.Resources.MyImage.gif", "image/gif")]
Control 소스 코드에서. 이미지를 얻으려면 다음 코드를 사용해야합니다
// 삽입된 gif 이미지에 대한 WebResource URL을 가져옵니다.
문자열 BtnUpImgSrc = this.Page.ClientScript.GetWebResourceUrl(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif");GetWebResourceUrl 메서드: 서버측 리소스에 대한 URL 참조를 가져옵니다.
이전 버전에서 찾았습니다. 사용법은 다음과 같습니다. this.page.GetWebResourceUrl
위 코드는 지정된 어셈블리에서 이미지 이름을 가져옵니다. Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet.ToString() + "_BtnUp.gif, it 반환되는 내용은 다음과 같습니다. 서버측 리소스의 URL 참조 주소입니다. 유사:
WebResource.axd?d=gWYJBlnQKynoTePlJ34jxyoSpR2Rh9lpYd8ZrSl0&t=632812333820000000
또한 MS는 Header 클래스를 제공합니다. Header 클래스는 주로 HTML 페이지의 <Head runat="server"></head>에서 작동합니다. 제목 등을 포함합니다. 하하. 앞으로는 페이지 제목을 수정하는 것이 매우 쉬울 것입니다.
this.Header.Title = "새 페이지 제목입니다.";
CSS 스타일 추가(스타일 속성) Style style = new Style();
style.ForeColor = System.드로잉.Color.Navy;
style.BackColor = System.드로잉.Color.LightGray;
// 페이지 본문 헤더에 스타일을 추가합니다.
this.Header.StyleSheet.CreateStyleRule(style, null, "body");
protected override void OnPreRender(EventArgs e) {
// 핵심 JS 스크립트에 대한 WebResource URL을 가져와서 등록합니다.
this.Page.ClientScript.RegisterClientScriptResource(typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox.js");
// 내장된 CSS에 대한 WebResource URL을 얻습니다.
문자열 CSS = this.Page.ClientScript.GetWebResourceUrl (typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_" + this.ImageSet + ".css");
// CSS 등록
// this.Page.StyleSheetTheme = CSS;
//this.Page.Header.LinkedStyleSheets.Add(css);
//이전 버전의 메소드인가요? 다음 코드로만 해결 가능
HtmlLink 링크 = 새로운 HtmlLink();
link.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("href", CSS);
this.Page.Header.Controls.Add(링크)
}
스피너 컨트롤을 사용하는 방법
에 대한 스크린샷입니다
.
<%@register tagprefix="cc" 네임스페이스="Obies.Web.UI.WebControls" Assembly="Obies.Web.UI.WebControls" %>
<cc:NumericTextBox width="50" ImageSet="Silver" length=" 2" runat="서버" id="NumericTextBox1"
maxvalue="10" minvalue="0"></cc:NumericTextBox>
<cc:NumericTextBox width="50" ImageSet="녹색" length="2" runat="서버" id="NumericTextBox2"
maxvalue="10" minvalue="0"></cc:NumericTextBox>
소스 주소: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
dnvs05/html/webresource.asp
원본 코드의 일부 문제로 인해 최신 VS2005에서는 많은 기능이 지원되지 않습니다. 그래서 수정이 이루어졌습니다.
소스 코드 다운로드: