ASP.NET 실습: 웹 위젯에 대한 데이터 바인딩 컨트롤 인스턴스 구축 및 실행
11418 단어 asp.net
WebPart 컨트롤 컴파일
코드의 실례를 실행할 수 있도록 하려면, 먼저 원본 코드를 컴파일해야 한다.너는 그것을 명확하게 컴파일해서 결과 집합을 사이트의 빈 디렉터리나 전역 집합 캐시에 저장할 수 있다.또한 원본 코드를 사이트의 App 에 저장할 수 있습니다Code 디렉토리에서는 런타임 시 동적으로 컴파일할 수 있습니다.본고의 코드 실례는 동적 컴파일을 사용한다.컴파일하는 방법에 대한 프레젠테이션 실천은 [ASP.NET 실습: 사용자 정의 서버 컨트롤 개발 및 사용].
동적 컴파일 WebPart 데이터 바인딩 컨트롤
웹 부품 응용 프로그램에서 이 컨트롤 사용
웹 위젯을 사용하기 위해 프로그램을 설정하려면 단독 사용자를 식별할 수 있는 ASP가 필요합니다.NET 웹 사이트, 그리고 응용 프로그램 서비스(개성화 포함)를 처리할 수 있는 데이터베이스.이 실례에 관해서는 (데이터 연결 컨트롤을 사용했기 때문에) Web에서도 필요합니다.config 파일에 데이터 원본이Northwind 실례 데이터베이스에 연결될 수 있도록 데이터베이스 연결 열을 만듭니다.응용 프로그램이 설정되면 웹 위젯 응용 프로그램마다 웹 위젯 응용 프로그램에서 웹 파트와 서버 컨트롤을 위탁 관리하는 웹 페이지에 웹 파트 관리자 컨트롤과 최소한 웹 파트 존 컨트롤을 추가해야 합니다.다음 두 번째 과정은 이 컨트롤을 추가하고 실행할 때 페이지에서 데이터 연결 컨트롤의 다른 절차를 완성할 때 필요한 준비 작업을 보여 줍니다.
ASP를 구성합니다.웹 위젯 컨트롤을 실행하는 NET 응용 프로그램
<connectionStrings>
<add name="nwind"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=
"C:\SQL Server 2000 Sample Databases\NORTHWND.MDF";
Initial Catalog=Northwind;Integrated Security=True;"
providerName="System.Data.SqlClient" />
</connectionStrings>
알림: 데이터베이스 연결열에 있는 모든 기밀 정보(예를 들어 비밀번호)를 암호화하는 것을 추천합니다.암호화된 구성 데이터에 대한 자세한 내용은 를 참조하십시오.NET 관행: 보호된 구성을 사용하여 구성 정보를 암호화합니다.]
<webParts enableExport="true" />
웹 페이지에서 웹 부품 컨트롤을 호스팅할 준비
<!-- , 。 -->
<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
// WebPartManager。
WebPartManager _manager;
void Page_Init(object sender, EventArgs e)
{
Page.InitComplete += new EventHandler(InitComplete);
}
void InitComplete(object sender, System.EventArgs e)
{
_manager = WebPartManager.GetCurrentWebPartManager(Page);
String browseModeName = WebPartManager.BrowseDisplayMode.Name;
// 。
foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
{
String modeName = mode.Name;
// 。
if (mode.IsEnabled(_manager))
{
ListItem item = new ListItem(modeName + " Mode", modeName);
DisplayModeDropdown.Items.Add(item);
}
}
}
// 。
void DisplayModeDropdown_SelectedIndexChanged(object sender,
EventArgs e)
{
String selectedMode = DisplayModeDropdown.SelectedValue;
WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
if (mode != null)
_manager.DisplayMode = mode;
}
void Page_PreRender(object sender, EventArgs e)
{
DisplayModeDropdown.SelectedValue = _manager.DisplayMode.Name;
}
</script>
<div>
<asp:DropDownList ID="DisplayModeDropdown"
runat="server"
AutoPostBack="true"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
</div>
<%@ register src="displaymodecs.ascx" tagname="displaymodecs"
tagprefix="uc1" %>
<%@ register tagprefix="aspSample"
namespace="Samples.AspNet.CS.Controls" %>
<uc1:displaymodecs id="Displaymodecs1" runat="server" />
<table style="width: 80%; position: relative">
<tr valign="top">
<td style="width: 40%">
</td>
<td style="width: 40%">
</td>
</tr>
</table>
<asp:webpartzone id="WebPartZone1" runat="server"
style="position: relative" >
<parttitlestyle font-size="14" font-names="Verdana" />
<zonetemplate>
</zonetemplate>
</asp:webpartzone>
두 번째 구역의 표지는 이렇게 보여야 한다.
<asp:webpartzone id="WebPartZone2" runat="server"
style="position: relative" >
<zonetemplate>
</zonetemplate>
</asp:webpartzone>
<aspSample:SmallGridWebPart id="grid1" runat="server"
title="Customer Phone List" width="300"
connectionstring="<%$ ConnectionStrings:nwind %>" />
<asp:calendar id="Calendar1" runat="server"
style="position: relative"></asp:calendar>
<%@ Page Language="C#" %>
<!-- 。 -->
<%@ register src="displaymodecs.ascx" tagname="displaymodecs"
tagprefix="uc1" %>
<!-- WebPart 。 assembly , 。 App_Code 。 -->
<%@ register tagprefix="aspSample"
namespace="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:webpartmanager id="WebPartManager1" runat="server">
</asp:webpartmanager>
<uc1:displaymodecs id="Displaymodecs1" runat="server" />
<br />
<table style="width: 80%; position: relative">
<tr valign="top">
<td style="width: 40%">
<asp:webpartzone id="WebPartZone1" runat="server"
style="position: relative" >
<parttitlestyle font-size="14" font-names="Verdana, Arial" />
<zonetemplate>
<aspSample:SmallGridWebPart id="grid1" runat="server"
title="Customer Phone List" width="300"
connectionstring="<%$ ConnectionStrings:nwind %>"
/>
</zonetemplate>
</asp:webpartzone>
</td>
<td style="width: 40%">
<asp:webpartzone id="WebPartZone2" runat="server"
style="position: relative">
<zonetemplate>
<asp:calendar id="Calendar1" runat="server"
style="position: relative"></asp:calendar>
</zonetemplate>
</asp:webpartzone>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.