==> [FrmInputControl.aspx] 소스 및 디자인

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmInputControl.aspx.cs" Inherits="FrmInputControl" %>

 

<!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>입력컨트롤들</title>

</head>

<body>

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

    <div>

   

        <table border="1" width="500">

            <tr>

                <td>체크박스(이용약관)</td><td>

                <asp:CheckBox ID="chkAgree" runat="server" Text="동의합니다." Checked="true" />

                </td>

            </tr>

            <tr>

                <td>체크박스리스트(취미)</td><td>

                <asp:CheckBoxList ID="lstHobby" runat="server"

                    RepeatDirection="Horizontal" RepeatColumns="2" RepeatLayout="Flow">

                    <asp:ListItem Value="S" Selected="True">축구</asp:ListItem>

                    <asp:ListItem Value="V">배구</asp:ListItem>

                    <asp:ListItem Value="B">노옹구</asp:ListItem>

                </asp:CheckBoxList>

                </td>

            </tr>

            <tr>

                <td>라디오버튼(성별)</td><td>

                <asp:RadioButton ID="rdoMan" runat="server" Text="남자" Checked="true"

                    GroupName="Gender" />

                <asp:RadioButton ID="rdoWomen" runat="server" Text="여자"

                    GroupName="Gender" />

                </td>

            </tr>

            <tr>

                <td>라디오버튼리스트(결혼)</td><td>

                <asp:RadioButtonList ID="lstWedding" runat="server"

                    RepeatDirection="Horizontal" RepeatLayout="Table">

                    <asp:ListItem Selected="True">미혼</asp:ListItem>

                    <asp:ListItem>기혼</asp:ListItem>

                </asp:RadioButtonList>

                </td>

            </tr>

            <tr>

                <td>드롭다운리스트(단일선택:직업)</td><td>

                <asp:DropDownList ID="lstJob" runat="server">

                    <asp:ListItem Selected="True">회사원</asp:ListItem>

                    <asp:ListItem>공무원</asp:ListItem>

                    <asp:ListItem>백수</asp:ListItem>

                </asp:DropDownList>

                </td>

            </tr>

            <tr>

                <td>리스트박스(다중선택:관심사항)</td><td>

                <asp:ListBox ID="lstFavorite" runat="server" SelectionMode="Multiple">

                </asp:ListBox>

                </td>

            </tr>

        </table>   

        <hr />

        <asp:Button ID="btnOK" runat="server" Text="확인" onclick="btnOK_Click" />

        <br />

        <asp:Label ID="lblDisplay" runat="server"></asp:Label>

       

    </div>

    </form>

</body>

</html>

 

 


 

 

-------------------------------------------------------------------------------------

 


==> [FrmInputControl.aspx.cs] 소스

 

using System;

using System.Web.UI.WebControls;

using System.Text;

 

public partial class FrmInputControl : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        // Page.IsPostBack : 처음로드하면 false, 포스트백(다시게시)되면 true

        if (!Page.IsPostBack) // 처음로드할 때에만...

        {

            BindFavorite(); //

        }

    }

    private void BindFavorite()

    {

        // 동적으로 ListItem을 채우는 3가지 방법

        // 관심사 채우기(공통)

        lstFavorite.Items.Add("C#");

        this.lstFavorite.Items.Add("ASP.NET");

 

        ListItem li = new ListItem();

        li.Text = "비베";

        li.Value = "VB";

        this.lstFavorite.Items.Add(li);

 

        ListItem listItem = new ListItem("닷넷", ".NET");

        this.lstFavorite.Items.Add(listItem);

 

        this.lstFavorite.Items.Add(new ListItem("WPF", "WPF")); // *

    }

    protected void btnOK_Click(object sender, EventArgs e)

    {

        //[0] 문자열 변수 선언 : StringBuilder 클래스 사용

        StringBuilder sb = new StringBuilder();

        //[1] 체크박스의 내용 가져오기 : 단일값

        if (this.chkAgree.Checked) {

            sb.Append("[1] " + this.chkAgree.Text + "<br />");

        }

        //[2] 체크박스리스트의 내용 가져오기 : 다중값

        if (this.lstHobby.Items[0].Selected) // 0번째 항목이 선택되었다면...

        {

            sb.Append("[2] " + this.lstHobby.Items[0].Value + "<br />");

        }

        if (this.lstHobby.Items[1].Selected) {

            sb.AppendFormat("[2] {0}<br/>", this.lstHobby.Items[1].Value);

        }

        if (this.lstHobby.Items[2].Selected) {

            sb.AppendFormat("[2] {0}<br/>", this.lstHobby.Items[2].Value);

        }

        //[3] 라디오버튼 값 받아오기 : 단일값

        if (this.rdoMan.Checked) {

            sb.AppendFormat("[3] {0} 선택<br />", rdoMan.Text);

        }

        else {

            sb.AppendFormat("[3] {0} 선택<br />", rdoWomen.Text);

        }

        //[4] 라디오버튼리스트 값 받아오기 : 단일값

        sb.AppendFormat("[4] {0}<br />", lstWedding.SelectedItem.Text);

        //[5] 드롭다운리스트 값 받아오기 : 단일값

        sb.AppendFormat("[5] {0}<br />",

        lstJob.Items[lstJob.SelectedIndex].Value);

        //[6] 리스트박스 : 다중값

        for (int i = 0; i < lstFavorite.Items.Count; i++) {

            if (lstFavorite.Items[i].Selected) {

                sb.AppendFormat("[6] {0}<br />", lstFavorite.Items[i].Value);

            }

        }

        //--OR--

        foreach (ListItem li in lstFavorite.Items) {

            if (li.Selected) {

                sb.AppendFormat("[6] {0}<br />", li.Text);

            }

        }

        //[!] 출력

        this.lblDisplay.Text = sb.ToString();

    }

}

 

 

-------------------------------------------------------------------------------------

 


[실행결과]

--> 실행 후 웹 페이지에서 '테이블'에 각각 들어가 있는 '6개 입력컨트롤들'에 체크를 하고("체크박스" / "체크박스리스트" / "라디오버튼" / "라디오버튼리스트" / "드롭다운리스트" / "리스트박스") '테이블'아래에 있는 '확인'버튼을 누르면 버튼아래의 '레이블'에 각각의 '입력컨트롤들'에 체크된 결과가 출력된다. (참고로, 위의 [FrmInputControl.aspx.cs] 소스코드의 "[6] 리스트박스"부분 코드에서 "for문"과 "foreach문"을 연달아 사용하여 아래그림과 같이 "리스트박스"에 체크된 결과가 한번더 반복되어 레이블에 출력되었다.)

 

 


 

 

'.NET프로그래밍 > ASP.NET 3.5 SP1' 카테고리의 다른 글

FrmAdRotator (광고 컨트롤)  (0) 2009.10.07
FrmCalendar  (0) 2009.10.07
FrmHiddenField  (0) 2009.10.07
FrmLinkButton  (0) 2009.10.07
FrmLiteral  (0) 2009.10.07
Posted by holland14
: