PuzzleWrite.aspx.cs
//TableNum- DropDownList의 id를 말한다.
protected void BtnCreateTable_Click(object sender, EventArgs e)
{
_BoxNum = Convert.ToInt32(TableNum.SelectedValue);
tablePrint.InnerHtml = _Puzzle.TableSetting(_BoxNum, "", false); //DropDownList에서 선택된 값으로 Box의 칸생성
BtnCreateNum.Visible = true;//'칸생성'을 클릭했을 때 '번호생성' 버튼이 보여지도록 설정
}
//'번호생성' 버튼클릭 _BoxNum = Convert.ToInt32(TableNum.SelectedValue); InnerHtml - 지정된 html 서버 컨트롤의 여는 태그 및 닫는 태그 사이에 있는 내용을 가져옵니다. |
//'출제완료'버튼클릭 string widthContent = widthQuestion.Value.Replace("\n", "<br />"); |
PuzzleWrite.aspx.cs_PuzzleClass_InsertPuzzle
SqlConnection conn = CDBConn.GetConn(); cmd.CommandText = "SP_WordPuzzle_Insert"; cmd.Parameters.AddWithValue("@widthQuestion", widthQuestion); |
이럴때는 클래스를 이용하자~
문제를 출제하기위해 출력되는 테이블이나, 문제를 풀기위해 출력되는 테이블은 정답이 같이 출력되는지만 다를뿐 큰차이는 없다.
이럴때는 더더욱 함수로 따로 정리하여 정리하는 것이 좋다. 비슷한 코딩이 여러군데에서 사용된다면, 공통으로 사용하도록 클래스에 저장하고 클래스내의 함수를 출력하기만 하면 더욱 효율적이다.
PuzzleClass.cs_TableSetting
TableSetting의 경우 문제출제페이지(PuzzleWrite.aspx.cs)와 문제출력페이지(PuzzleView.aspx.cs) 두 군데에서 호출된다.
다만, PuzzleWrite는 _Puzzle.TableSetting(_BoxNum, "", false)와 _Puzzle.TableSetting(_BoxNum, _StrQuestion, true)형태로
PuzzleView는 _Puzzle.TableSetting(BoxNum, _StrQuestion, false) 형태이다.
때문에 (StrQuestion == "") 조건으로 WriteTableSetting 또는 ViewTableSetting 함수를 return한다.
{
string returnValue = "";
if (StrQuestion == "")
{
returnValue = WriteTableSetting(BoxNum);
}
else
{
returnValue = ViewTableSetting(BoxNum,StrQuestion, flag);
}
return returnValue;
}
PuzzleClass.cs_WriteTableSetting
public string WriteTableSetting(int BoxNum) int num = 0; System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (BoxNum > 0) sb.AppendLine("<td width=\"50\" height=\"50\" bgcolor = " + color + " style=\"vertical-align:bottom;\">"); |
'ASP.NET_ 낱말퍼즐 > 프로그램' 카테고리의 다른 글
ASP.NET으로 '낱말잇기 퍼즐'만들기_ 프로그램하기_Default (0) | 2011.02.14 |
---|---|
ASP.NET으로 '낱말잇기 퍼즐'만들기_ 프로그램하기_PuzzleView (0) | 2011.02.14 |
ASP.NET으로 '낱말잇기 퍼즐' 만들기_ 방향잡기 (0) | 2011.02.11 |