.net 초보 입니다...
게임 관리 툴을 .net으로 개발 하기로 해서... 혼자서 DB 설계, 프로그래밍 하기도 벅찬데...
.net 까지 할려니 머리가 돌 지경입니다.
동적 컨트롤 추가에 대해 찾아 보다 보다...
(도저히 원하는 답을 찾지 못해서....)
결국은 못 찾고... 맨땅에 헤딩해 가며 알아낸 방법입니다...
모르시는 부분들은 Msdn 찾아 가시면서 하세요 ^^ ....
딴지는 절대 사절...
1. 블럭 설정을 할 아이디를 입력 후 아이디 찾기 버튼을 클릭...
2. 블럭설정 아이디 리스트 바인딩... 선택 링크 클릭...
3. 블럭설정 리스트에 동적 컨트롤 추가(TextBox) - 5개 제한
4. 블럭설정 리스트 제거 버튼 클릭... 동적 컨트롤 삭제
(AJAX 방식, PANEL, TABLEROW, REPEATER 방식 사용 - AJAX, PANEL, TABLEROW, REPEATER
관련 내용은 설명 안함... 단순히 동적 컨트롤 생성에 대해서만...)
### 블럭설정 리스트 부분 폼 소스...
<script language="javascript">
function ChoiceId(a, b, c)
{
var UserNo = document.getElementById("UserNoHidden");
var UserId = document.getElementById("UserIdHidden");
if ( c == "Y")
{
alert ("게임에 접속 중인 아이디 입니다.\n 블럭 설정을 할 수 없습니다.");
return;
}
else
{
UserNo.value = a;
UserId.value = b;
__doPostBack("ChoiceBtn", "");
}
}
function Delete_ok(a)
{
var DeleteId = document.getElementById("DeleteIdHidden");
DeleteId.value = a;
__doPostBack("RemoveBtn", "");
}
</script>
~ 생략
<asp:HiddenField ID="UserNoHidden" runat="server" />
<asp:HiddenField ID="UserIdHidden" runat="server" />
~ 생략
<!---// 블럭설정 리스트 시작 //--->
<asp:UpdatePanel ID="BlockUpdatePanel" runat="server" UpdateMode="conditional">
<ContentTemplate>
<asp:Panel ID="BlockPanel" runat="server" Visible="false">
<table style="width: 840px;" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 840px; height: 1px; background-image: url(/images/user/dot_line.jpg);"></td>
</tr>
<tr>
<td style="width: 840px; height: 20px;"></td>
</tr>
<tr>
<td style="width: 840px;">
<!---// 타이틀 시작 //--->
<table style="width: 840px;" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" style="width: 840px; height: 3px; background-color: #666666;"></td>
</tr>
<tr>
<td colspan="2" style="width: 840px; height: 2px; background-image: url(/images/user/dot1.jpg);"></td>
</tr>
<tr>
<td style="width: 30px; height: 25px; text-align: right; background-color: #D4D0C8;">
<img src="/images/user/left_bar.jpg" width="5px" height="17px" alt="" />
</td>
<td style="width: 710px; height: 25px; text-align: left; padding-left: 10px; background-color: #D4D0C8;" class="user_font1">
[블럭설정 대상 리스트] - 기간 및 블럭설정 사유를 명확히 기입 하시기 바랍니다.
</td>
</tr>
<tr>
<td colspan="2" style="height: 2px; background-image: url(/images/user/dot.jpg);"></td>
</tr>
<tr>
<td style="width: 30px; height: 25px; background-color: #D4D0C8; text-align: right;">
<img src="/images/user/left_bar.jpg" width="5px" height="17px" alt="" />
</td>
<td style="width: 710px; height: 25px; background-color: #D4D0C8; text-align: left; padding-left: 10px;" class="user_font1">
[기간 설정 방법] - 일주일(7), 한달(30), 영구정지(0) 기간을 숫자로 입력 하시기 바랍니다.
</td>
</tr>
<tr>
<td colspan="2" style="width: 840px; height: 2px; background-image: url(/images/user/dot.jpg);"></td>
</tr>
<tr>
<td colspan="2" style="width: 840px; height: 3px; background-color: #666666;"></td>
</tr>
</table>
<!---// 타이틀 끝 //--->
</td>
</tr>
<tr>
<td style="height: 20px;"></td>
</tr>
<tr>
<td style="width: 840px; height: 25px;" valign="top">
<table style="width: 840px;" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5" style="width: 840px; height: 20px; text-align: left;" class="user_font1">
[블럭설정 리스트] - 한번에 5개 아이디 블럭 설정 가능
</td>
</tr>
<tr>
<td colspan="5" style="width: 840px; height: 3px; background-color: #666666;"></td>
</tr>
<tr>
<td colspan="5" style="width: 840px; height: 3px; background-image: url(/images/user/dot.jpg);"></td>
</tr>
<tr>
<td style="width: 140px; height: 25px; background-color: #D4D0C8; text-align: center;" class="sticker_font1">
유저넘버
</td>
<td style="width: 140px; height: 25px; background-color: #D4D0C8; text-align: center;" class="sticker_font1">
유저아이디
</td>
<td style="width: 140px; height: 25px; background-color: #D4D0C8; text-align: center;" class="sticker_font1">
블럭설정기간
</td>
<td style="width: 370px; height: 25px; background-color: #D4D0C8; text-align: center;" class="sticker_font1">
블럭설정이유
</td>
<td style="width: 50px; height: 25px; background-color: #D4D0C8; text-align: center;" class="sticker_font2">
제거
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="width: 840px;" valign="top">
<!---// 블럭설정을 위한 텍스트 박스 동적 컨트롤 시작 //--->
<asp:UpdatePanel ID="BlockListUpdatePanel" runat="server" UpdateMode="conditional">
<ContentTemplate>
<table style="width: 840px;" border="0" cellpadding="0" cellspacing="0">
<!---// Repeater 시작 //--->
<asp:Repeater ID="BlockRepeater" runat="server" DataSource=<%# DtSource %>>
<ItemTemplate>
<tr>
<td style="width: 140px; height: 25px; text-align: center;" class="sticker_font1">
<asp:TextBox ID="UserNo" runat="server" TextMode="singleLine" CssClass="input7_2" Text=<%# Eval("UserNo") %> ReadOnly="true" />
</td>
<td style="width: 140px; height: 25px; text-align: center;" class="sticker_font1">
<asp:TextBox ID="UserId" runat="server" TextMode="singleLine" CssClass="input7_2" Text=<%# Eval("UserId") %> ReadOnly="true" />
</td>
<td style="width: 140px; height: 25px; text-align: center;" class="sticker_font1">
<asp:TextBox ID="BlockTerm" runat="server" TextMode="singleLine" CssClass="input7_2" Text=<%# Eval("BlockTerm") %> />
</td>
<td style="width: 370px; height: 25px; text-align: center;" class="sticker_font1">
<asp:TextBox ID="BlockReason" runat="server" TextMode="singleLine" CssClass="input7_1" Text=<%# Eval("BlockReason") %> />
</td>
<td style="width: 50px; height: 25px; text-align: center;" class="sticker_font2">
<asp:Label ID="BlockDelete" Width="50px" runat="server" CssClass="user_font1" Text=<%# Eval("BlockDelete") %> />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
<tr>
<td colspan="5">
<asp:Button ID="ChoiceBtn" runat="server" Width="0" Height="0" OnClick="ChoiceBtnClick" />
<asp:Button ID="RemoveBtn" runat="server" Width="0" Height="0" OnClick="RemoveBtnClick" />
<asp:HiddenField ID="RowNumHidden" runat="server" />
<asp:HiddenField ID="DeleteIdHidden" runat="server" />
<asp:Label ID="test12" runat="server" />
</td>
</tr>
<!---// Repeater 끝 --->
<tr>
<td colspan="5" style="height: 20px; text-align: center;">
<asp:UpdateProgress ID="BlockUpdateProgress" runat="server" AssociatedUpdatePanelID="BlockUpdatePanel" Visible="true">
<ProgressTemplate>
블럭설정 중 입니다...
</ProgressTemplate>
</asp:UpdateProgress>
</td>
</tr>
<tr>
<td colspan="5" style="width: 840px; height: 1px; background-color: #808080;"></td>
</tr>
<tr>
<td colspan="5" style="height: 10px;"></td>
</tr>
<tr>
<td colspan="5" style="height: 25px; text-align: center;">
<asp:Button ID="BlockOkBtn" runat="server" CssClass="button9" Text="블럭설정" OnClientClick="return BlockCheck()" OnClick="BlockOkBtnClick" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<!---// 블럭설정을 위한 텍스트 박스 동적 컨트롤 끝 //--->
</td>
</tr>
</table>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="SearchBtn" EventName="click" />
</Triggers>
</asp:UpdatePanel>
<!---// 블럭설정 리스트 끝 //--->
[출처] [C#] 동적 컨트롤 추가... 1|작성자 코로다몽
'Programming > ASP.NET' 카테고리의 다른 글
[스크랩] 프로젝트에 CKEditor, CKFinder 연동 방법 (0) | 2010.04.05 |
---|---|
[스크랩] HttpCookie 클래스 사용 하기 (0) | 2010.04.05 |
[스크랩] 간단한 쿠키(Cookie) 예제 (0) | 2010.04.05 |
[스크랩] ASP.NET 개발자가 항상 수행해야 하는 작업 (0) | 2010.03.29 |
[스크랩] 동적컨트롤 추가하기 2 (0) | 2010.03.26 |
[스크랩] GridView 안에 있는 DropDownList에 데이터 바인딩 시키기... (0) | 2010.03.26 |
[스크랩] javascript배열 => cs (0) | 2010.03.26 |
[스크랩] cs=>javascript 배열만들기 (0) | 2010.03.26 |
[스크랩] UserControl , Page, MasterPage 사이 컨트롤 접근하기 (0) | 2010.03.26 |
[스크랩] GridView 에 페이징 등록하기 (0) | 2010.03.25 |