ASP.NET Ex
ASP.NET 회원가입 폐이지 작성하기3 -
클라인STR
2008. 1. 15. 13:58

Page_Load()될때
Page.RegisterClientScriptBlock("Mystric","<script> init(); </script>");
함수가 호출되면 init()함수가 호출된다.
function init()
{
var value=opener.document.Form1.sid.value;
document.getElementById('sid').value=value; // 아이디값을
(1)입력필드에 입력한다.
document.getElementById('nid').value=opener.document.Form1.sid.value;
(3)Div에 아이디 입력값을 저장한다.
}
opener객체를 사용하여서 부모창에서의 입력했던 아이디 값을 변수인 value에 대입하였다.
이때 document.Form1.sid에서의 sid는 부모창에서의 텍스트필드의 name값인 sid의 값이다.
<input id="input_id" type="text" name="sid"> //회원가입폼의 입력필드
조회버튼은 클릭하면 DB에서 입력된 아이디 값이 존재하는지 검색하여
존재유무를 (3) DIV에 출력한다.
(2) 조회버튼을 클릭하면 코드비하인드에 이벤트 함수가 호출된다.
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
string connection=ConfigurationSettings.AppSettings["Key"];
SqlConnection Conn = new SqlConnection(connection);
Conn.Open(); //커넥션 열
SqlCommand command =new SqlCommand();
command.CommandText="select count(Kid) from mydata where Kid='"+sid.Value+"'";
command.Connection=Conn;
try
{
if( (int.Parse(command.ExecuteScalar().ToString()))==1)
{
this.nid.InnerText=this.sid.Value + "는 사용중 입니다..";
}
else
{
throw new Exception();
}
}
catch(Exception)
{
this.nid.InnerHtml=sid.Value;
this.nid_low.InnerHtml="사용가능 합니다";
this.id_use.Style.Add("VISIBILITY","true");
}
finally
{
this.sid.Value="";
}
Conn.Close();
}
string connection=ConfigurationSettings.AppSettings["Key"];
Web.config 파일에 설정되어 있는 <appSettings>을 참조하여 ConnectionString을 불러온다.
command.ExecuteScalar()를 호출한다. ExecuteScalar() 쿼리를 실행하고 쿼리에서 반환된 결과 집합의 첫 번째 행의 첫 번째 열을 반환합니다. 쿼리문에 아이디를 포함하는 count(kid) 레코드에 갯수를 반환하므로 아이디가 존재한다면 1이, 그렇지 않다면 0을 반환한다.


아이디가 DB에 존재한다면 다음화면이 출력된다.
(4) 아이디 사용 버튼을 클릭하면 사용가능한 아이디값을 부모창으로 다시 넘겨준다.
<IMG id="id_use" style="VISIBILITY: hidden" onclick="Repri()" alt="" src="image/btn_m_id2.gif" runat="server">
클릭하면 Repri() 함수가 호출된다.
function Repri()
{
opener.document.Form1.input_id.value=document.getElementById('nid').innerText;
opener.document.Form1.input_passwd.focus(); //포커스 이동
self.close();
}
Repir() 함수에서 openr객체를 사용하여 아이디 입력란에 현재 사용가능한 아이디 값을 전달한다.
포커스를 이동하고 현재 열린 팝업창을 닫는다.
