posted by 써니루루 2007. 5. 21. 14:07

링크를 클릭하게 되면 링크 주변에 점선이 생기게되죠.

물론 그대로 두는 것이 웹표준 접근성에 맞겠지만

모양을 중요시하는 경향이 국내에선 많기 때문에 링크에는 항상 onclick 이벤트에 this.blur() 자바스크립트를 이용해서 링크에 점선이 생기는걸 막고는 했죠.

이를 한번에 해결하려면 a 테그의 스타일을 정의할 때 아래와 같은 한줄을 넣어주시면 됩니다.  ^ ^


a { selector-dummy: expression(this.hideFocus=true;}

상당히 간단하고 쉽게 링크의 점선을 없앨 수 있겠죠? ^ ^

많이 활용하자고용~
posted by 써니루루 2007. 5. 18. 17:19

자주 쓰긴하지만 참 자주 까먹고 사용할 때마다 찾아서 쓰게 되는 스크립트입니다 ㅎㅎ

function jumin_check()
{
     if (document.form1.TextBox6.value.length != 13)
     {   // 번호가 13개 아니라면
        alert("번호의 개수가 모자랍니다.");
        document.getElementById("TextBox6").focus(); //커서를 주민번호 앞자리에 놓는다.
      return false;
     }
     else
     {  
        var strjumin = document.getElementById("TextBox6").value;   //변수에 주민번호 앞자리 담음
       
     }
        var a1=strjumin.substring(0,1)   //주민번호 계산법
        var a2=strjumin.substring(1,2)         
        var a3=strjumin.substring(2,3)
        var a4=strjumin.substring(3,4)
        var a5=strjumin.substring(4,5)
        var a6=strjumin.substring(5,6)
        var checkdigit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7
        var b1=strjumin.substring(6,7)
        var b2=strjumin.substring(7,8)
        var b3=strjumin.substring(8,9)
        var b4=strjumin.substring(9,10)
        var b5=strjumin.substring(10,11)
        var b6=strjumin.substring(11,12)
        var b7=strjumin.substring(12,13)
        var checkdigit=checkdigit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5
        checkdigit = checkdigit%11
        checkdigit = 11 - checkdigit
        checkdigit = checkdigit%10
       
        if (checkdigit != b7)
        {  
           alert('잘못된 주민등록번호입니다.\n\n다시 확인하고 입력해 주세요.');
           document.getElementById("TextBox6").value="";
           document.getElementById("TextBox6").focus();  
           return false;
        }

      return true;
}

한번 이렇게 기억해두면 편하겠죠 ^ ^

참고로 코드는 ASP.NET에서 하던 코드라 약간 다르게 적용시켜야 할지 모르겠네요~

사용하실 땐

<form 테그안에 있는 onsubmit="" 이벤트 안에

onsubmit="return jumin_check()"

이런식으로 넣어주시면 처리됩니다. ^ ^
 

posted by 써니루루 2007. 5. 16. 16:05

<%@ Control Language="C#" ClassName="postImage" %>
<%@ Import Namespace="System.IO" %>


<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile == true)
        {
            string upDir = Server.MapPath(".") + "\\upload\\";
           
            DirectoryInfo di = new DirectoryInfo(upDir);
            if (di.Exists == false)
                di.Create();

            string fName = FileUpload1.FileName;
            string fFullName = upDir + fName;
            FileInfo fInfo = new FileInfo(fFullName);

            if (fInfo.Exists == true)
            {
                int findex = 0;
                string fExt = fInfo.Extension;
                string fRealName = fName.Replace(fExt, "");

                string newFileName = "";
                do
                {
                    findex++;
                    newFileName = fRealName + "_" + findex.ToString() + fExt;
                    fInfo = new FileInfo(upDir + newFileName);
                } while (fInfo.Exists);

                fFullName = upDir + newFileName;
                fName = newFileName;
            }

            FileUpload1.PostedFile.SaveAs(fFullName);
            fInfo = new FileInfo(fFullName);

            Panel1.Visible = true;
            lblMessage.Text = "업로드 된 파일 : " + fFullName + "\n<br />";
            /*lblMessage.Text += "업로드 사이즈 : "
                + Convert.ToString(int.Parse(Convert.ToString(float.Parse(fInfo.Length.ToString()) / 1024.0f)))
                + "KB";*/
            Image1.ImageUrl = "../upload/" + fName;
            HiddenField1.Value = "upload/" + fName;
        }
        else
        {
            Panel1.Visible = true;
            lblMessage.Text = "업로드 할 파일이 존재하지 않습니다.";
        }
    }

</script>


<div class="titleText">이미지를 등록해주세요</div>
<br />
<div class="noticeText">* 이미지는 명함, 반명함 사진으로 확장자는<br /> gif, jpg, png 등으로만 올려주시기 바랍니다.</div>
<br />
<div id="fileImage">
    <asp:FileUpload ID="FileUpload1" runat="server" Width="200px" />&nbsp;<br />
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="사진 파일 올리기" /><br />
</div>
<p></p>
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="298px" Visible="False">
    <asp:Label ID="lblMessage" runat="server"></asp:Label><br />
    <asp:Image ID="Image1" runat="server" Width="130" /><br /><br />
    </asp:Panel>
<asp:HiddenField ID="HiddenField1" runat="server" />


간단하게 만들었던 이미지 업로드 컨트롤 *.ascx 파일로 만들어두면 편하다.

참 급조로 만든거라 상당히 부실한 -_ -;;;

요래 코딩하면 안되는뎅;;

반성 반성~


만약에 업로드하는 부분만 메소드로 뺀다면 ...

    /// <summary>
    /// 이미지를 업로드 한 후 저장된 파일 경로를 반환한다.
    /// </summary>
    /// <param name="FileUp">업로드 컨트롤</param>
    /// <param name="SubCode">과목코드</param>
    /// <returns></returns>
    protected string ImageUpload(FileUpload FileUp, int SubCode)
    {
        string ret = "";        // 반환할 문자열
        string upDir = "";      // 업로드할 파일 저장 위치
        string fName = "";      // 업로드된 실제 파일명
        string fFullName = "";  // 저장할 파일의 풀 경로
        string fExt = "";       // 파일의 확장자명
        string fRealName = "";  // 파일의 확장자를 뺀 실제 파일명
        string newFileName = "";// 새로 만들어질 파일명

        int findex = 0; // 파일의 인덱스번호
       
       
        System.IO.DirectoryInfo di = null;
        System.IO.FileInfo fInfo = null;
       
        // 파일이 있나?
        if (FileUp.HasFile == true)
        {
            // 저장할 경로
            upDir = Server.MapPath("..") + "\\upload\\exam\\" + SubCode.ToString();
           
            // 경로에 디렉토리가 없으면 만든다.
            di = new System.IO.DirectoryInfo(upDir); // 디렉토리를 다룰 연장
            if (di.Exists == false)
                di.Create();

            // 업로드 된 파일을 가지고 저장할 파일의 풀 경로를 만들어낸다.
            fName = fileup.FileName;
            fFullName = upDir + fName;
            fInfo = new System.IO.FileInfo(fFullName); // 파일을 다룰 연장

            // 이미 해당하는 파일이 있으면
            if (fInfo.Exists == true)
            {
                fExt = fInfo.Extension;
                fRealName = fName.Replace(fExt, "");

                // 루프를 돌면서 실제 저장될 파일명을 결정한다.
                do
                {
                    findex++;
                    newFileName = fRealName + "_" + findex.ToString() + fExt;
                    fInfo = new System.IO.FileInfo(upDir + newFileName);
                } while (fInfo.Exists);

                fFullName = upDir + newFileName;
                fName = newFileName;
            }

            FileUp.PostedFile.SaveAs(fFullName);
            fInfo = new System.IO.FileInfo(fFullName);

            ret = "../upload/" + fName;
        }
       
        return ret;
    }

posted by 써니루루 2007. 4. 16. 19:48

출처 : http://blog.naver.com/darkneo?Redirect=Log&logNo=40008494000

안녕하세요!

VS.NET 에서 웹 응용 프로그램 팀 개발을 위해 권장되는 방법은 "파일 공유" 액세스 모드를 기준으로 합니다. 각 개발자는 자신의 가상 루트에 있는 파일 복사본에서 작업하지만 모든 사용자가 중앙 Microsoft® Visual SourceSafe® 프로젝트에서 파일을 체크 인/체크 아웃합니다.

Visual SourceSafe 통합은 Visual Studio 6.0, Microsoft® Visual C++® 및 Microsoft® Visual Basic® 프로젝트에서 사용되는 것처럼 Visual Studio.NET에서 작업합니다. 개발자는 자신의 프로젝트를 로컬로 만들 수 있으며(http://localhost를 사용할 경우) 일반 Visual SourceSafe 프로젝트에서 체크 인/체크 아웃할 수 있습니다. 이 또한 팀의 모든 개발자가 중앙 서버에 있는 동일한 가상 루트에서 작업하는 Visual InterDev 6.0과 다릅니다.

응용 프로그램을 개별 프로젝트로 적절히 분할하고, ASP.NET 사용자 컨트롤, HTTP 모듈 및 클래스 라이브러리를 사용할 때도 팀웍을 발휘할 수 있는 효과적인 방법으로 간주됩니다.

파일 공유 액세스 모드 설정
VS.NET 에서 파일 공유는 기본 액세스 모드입니다. 액세스 모드가 올바르게 설정되었는지 확인하려면 Tools 메뉴에서 Options을 클릭하고 Projects를 클릭한 다음 Web Settings을 클릭합니다. 기본 설정 액세스 모드를 File share로 설정한 다음 OK를 클릭합니다. 이렇게 하면 웹 프로젝트를 Visual SourceSafe에 추가할 수 있습니다.

FrontPage 액세스 모드를 사용하는 기존 프로젝트가 있는 경우 해당 액세스 모드를 File share로 변경할 수 있습니다. Solution Explorer를 열고 해당 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 Properties를 클릭합니다. Common Properties를 클릭한 다음 Web Settings를 클릭합니다. 웹 액세스 모드를 File share로 설정한 다음 OK를 클릭합니다. 이제 솔루션을 저장하고 닫은 다음 다시 열어서 프로젝트 설정 변경을 적용해야 합니다.

Visual SourceSafe에서 프로젝트 만들기

첫째 팀 구성원은 하나 이상의 프로젝트가 포함된 솔루션을 만듭니다. (파일 공유 액세스를 사용하게 되면, 다른 시스템에 프로젝트를 만드는 경우 여전히 프로젝트 위치를 http://myserver와 같이 지정하지만, \\myserver\c$\inetpub\wwwroot 또는 \\myserver\wwwroot$로의 UNC(Universal Naming Convention)가 필요합니다.) 다른 팀 구성원이 작업을 시작할 수 있도록 솔루션이 준비되면 첫째 팀 구성원은 Solution Explorer에서 해당 솔루션이나 프로젝트 파일을 마우스 오른쪽 단추로 클릭한 다음 Add Solution to Source Control을 선택합니다. File 메뉴에서 Source Control을 클릭한 다음 Add Solution to Source Control을 클릭할 수도 있습니다.

솔루션에 파일 공유 액세스 모드를 사용하는 웹 프로젝트가 있는 경우 파일 공유 경고 대화 상자가 나타납니다.

이 경고는 무시해도 됩니다. Continue를 클릭합니다.

IDE(Integrated Development Environment)에서는 Visual SourceSafe 데이터베이스 서버를 묻는 메시지와 Visual SourceSafe에서 솔루션 파일과 솔루션의 개별 프로젝트를 저장할 위치를 지정하라는 메시지가 차례로 표시됩니다.

VS.NET에서의 기본 동작은 "Admin 사용자"를 사용하는 기본 Visual SourceSafe 데이터베이스(일반적으로 Common)에 사용자를 로그온하는 것입니다. 기본 사용자 이름과 암호는 Visual SourceSafe에서 제공합니다. 기본 Admin 사용자 암호는 비어 있기 때문에 솔루션을 Visual SourceSafe에 추가할 때 Visual SourceSafe 데이터베이스 서버를 묻는 메시지가 표시되지 않을 수도 있습니다. 대신 기본 Visual SourceSafe 데이터베이스에 자동으로 로그온하여 Add to SourceSafe Project 대화 상자로 바로 이동할 수 있습니다. 로그인 대화 상자는 기본적으로 화면에 표시됩니다. (베타 버전 6.0c를 비롯한 최신 Visual SourceSafe 버전에서는 로그인 대화 상자가 표시되지 않습니다. Visual SourceSafe 6.0c 최종판에서는 기본적으로 로그인 대화 상자를 표시합니다.)

솔루션에 포함된 각 웹 프로젝트를 저장할 때도 Visual SourceSafe 위치를 제공하라는 동일한 대화 상자가 표시됩니다. 대화 상자가 처음 나타날 때 모든 프로젝트에 대한 위치를 지정하려면 솔루션과 같은 드라이브에 있는 비 웹 프로젝트의 Visual SourceSafe 위치를 해당 솔루션으로 설정합니다. 그 다음에 나타나는 대화 상자에서는 솔루션 내의 각 웹 프로젝트의 Visual SourceSafe 위치를 묻습니다. Visual SourceSafe에 특정 프로젝트를 추가하지 않으려면 Cancel을 클릭하고 Add selected projects to source control을 대신 선택합니다. 이 옵션을 선택하면 추가할 프로젝트를 제어할 수 있습니다. 소스 제어에 선택한 프로젝트를 추가하는 방법은 본 기사 후반부에서 설명합니다. Solution Explorer는 취소한 프로젝트를 체크 아웃된 것으로 표시하며, 프로젝트 파일은 Visual SourceSafe에 있지 않습니다. 이 시나리오에서 체크 아웃된 특수 문자는 Visual SourceSafe에 일시 보류 중인 추가 항목을 가리키는 데 사용됩니다.

Visual SourceSafe 위치를 설정할 때 솔루션 파일과 프로젝트를 동일한 Visual SourceSafe 폴더에 저장하거나 별도의 폴더에 저장할 수 있습니다. Visual Studio.NET이 모든 비 웹 프로젝트 교체를 제어하도록 하는 것이 바람직합니다. 그러나 프로젝트가 다른 웹 프로젝트와 충돌하지 않도록 하기 위해서는 각 웹 프로젝트가 해당 폴더에 놓여야 합니다. 보통 여러 프로젝트에 이름이 같은 파일(예: WebForm1.aspx)이 존재합니다. 한 Visual SourceSafe 폴더에 둘 이상의 프로젝트를 둘 경우, 프로젝트에 중복 파일을 추가하려 할 때 표시되는 경고 대화 상자가 나타납니다.

Visual SourceSafe에 이미 추가된 솔루션에 Visual SourceSafe에 없는 기존 프로젝트나 새 프로젝트를 추가하려면 먼저 프로젝트를 솔루션에 추가하고, Solution Explorer에서 해당 솔루션을 마우스 오른쪽 단추로 클릭한 다음 다음 중 하나를 수행합니다.

Add를 클릭한 다음 New Project를 클릭합니다.
Add를 클릭한 다음 Existing Project를 클릭합니다.
Solution Explorer에 해당 프로젝트가 체크 아웃된 것으로 표시되지만 파일은 Visual SourceSafe에 없습니다. 이제 Solution Explorer에서 해당 프로젝트를 선택하고 File 메뉴에서 Source Control을 클릭한 다음 마지막으로 Add Selected Projects to Source Control?을 클릭합니다. 앞에서 설명한 것처럼 Visual SourceSafe에서 프로젝트를 저장할 위치를 지정하라는 메시지가 표시됩니다. 비 웹 프로젝트의 경우에는 File 메뉴에서 Check In 명령을 사용하여 Visual Studio .NET이 Visual SourceSafe 위치를 제어하도록 하는 것이 좋습니다.

Visual SourceSafe에서 프로젝트 액세스
각 팀 구성원은 Visual Source Safe에서 프로젝트를 처음 액세스할 때 File 메뉴에서 Source Control을 클릭한 다음, Open Project From Source Control을 클릭해야 합니다.

그러면 IDE에서 팀 구성원에게 Visual SourceSafe 데이터베이스 서버를 묻는 메시지가 표시되고, 솔루션 파일과 비 웹 프로젝트를 복사할 로컬 폴더를 지정하라는 메시지와 Visual SourceSafe 프로젝트를 선택하라는 메시지가 표시되고 선택하시면 됩니다.

웹 프로젝트마다 웹 사이트의 위치를 선택해야 합니다. 웹 프로젝트를 서버(예: http://myserver/myproject_myroot) 또는 로컬 컴퓨터(예: http://localhost/myproject)에 저장할 수 있습니다. Visual Studio에서는 웹 프로젝트마다 가상 루트 하나를 만듭니다.

따라서 하시다 보면 세팅하는 방법을 아실 수 있을 것 입니다.

2007. 4. 15. 23:26

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2007. 4. 15. 18:06

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2007. 4. 14. 17:12

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2007. 4. 13. 10:38

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

posted by 써니루루 2007. 4. 12. 00:48
HTML, CSS, JavaScript?

먼 곳에서 찾지 말자..

Naver? Yahoo?

가장 브라우져 관련 개발자가 많이 모인곳을 찾자..

당연 브라우져를 개발하는 곳이다..

MS, Mozilla, Opera 등등

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtml_reference_entry.asp
http://developer.mozilla.org/en/docs/JavaScript_Language_Resources
http://www.opera.com/support/service/webdev/
2007. 4. 11. 21:56

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.