[ASP.NET 개발] 풋내기 시절의.net 서버 컨트롤 사용 노트

7985 단어 asp.net
여러 가지 이유로 오랫동안 수필을 쓰지 않았다.
사실 가장 중요한 것은 자신이 게으르기 때문이다. 물건은 모두 워드 문서로 쓰고 블로그에 다시 들어가기 귀찮다.
최근에 또 블로그를 구경하러 왔습니다. 그리고 자신이 채소 시절이었던 것을 모두 햇볕에 쬐었습니다. 왜냐하면 언젠가는 어떤 새로운 채소 새가 이런 슈퍼 바보+슈퍼 입문의 작은 지식과 기교가 필요할 거라고 믿기 때문입니다.
문필이 엉망이고, 솜씨가 얕고, 수준이 없으니, 분풀이를 해라.
PS: 이 글은 처음 접하기에 적합합니다.NET 한두 달의 흰둥이+채소새, 고수는 웃고 말하지 마세요.
 
하나,net 자체 서버 컨트롤러의 사용 방법과 기교
1.runat="server"
모든 서버 컨트롤러에runat="server"표시를 추가해야 합니다. 그렇지 않으면 이 컨트롤러는 서버에서 해석되지 않을 것입니다. 또한 모든 서버 컨트롤러는runat="server"표시가 있는
내부에 두어야 합니다.
 
2. DropDownList(드롭다운 목록 컨트롤)
(1) 목록 항목을 추가하는 방법:
ListItem li = new ListItem(string Text,string Value);

DropDownList.Items.Add(li);

 
(2) 선택 항목:
    Text:DropDownList.Items.FindByText(string text).Selected=true;



    Value:DropDownList.Items.FindByValue(string value).Selected=true;



    Index   :DropDownList.SelectedIndex=1;//index 0    

 
(3) 획득한 항목:
    Text:DropDownList.SelectedItem.Text



    Value:DropDownList.SelectedItem.Value



    Index   :DropDownList.SelectedIndex //index 0    



   :     :DropDowmList.Items[index]


 
3. CheckBoxList(다중 선택 상자 목록 컨트롤)
RepeatDirection, RepeatLayout, RepeatColumns, CellPadding, CellSpacing 속성, 레이아웃용
 
4. FileUpload 파일 업로드 컨트롤
이것을 어떻게 사용하는지에 관해서는 직접 원본을 올리는 실례가 더 쉽게 이해할 수 있을 것이다.
if(myFile.HasFile){//  ID myFile

    string strFileName=myFile.FileName;

    myFile.SaveAs(Server.MapPath(strFileName));}

else{

    Response.Write("          ");
}

주의:HasFile을 사용하면 파일이 0바이트인 상황을 고려할 수 있으며, 이 상황을 선택한 파일이 없는 것으로 간주합니다.
또한 쓰기 권한에 주의해야 한다. 만약에 사용자가 업로드 권한이 없다면 여기서'XX 디렉터리에 대한 접근이 거부된다'는 이상을 던질 것이다. so, 사용하기 전에 현재 사용자의 권한을 알아야 한다. 그렇지 않으면 헤헤헤헤, 빨간 페이지를 던질 용기가 정말 좋지 않다.
물론 이 코드는 결함이 있다.
1: 크기가 작은 파일만 업로드할 수 있습니다(업로드가 너무 큰 파일은 IIS에서 "이 페이지는 표시할 수 없습니다"라고 표시됨).
2: 파일 형식과 크기에 대한 제한이 없습니다.
3: 중명 문제를 해결하지 못했다.
 
솔루션:
우선 파일 업로드 제한은 ASP입니다.NET의 보호 메커니즘config에서 기본적으로 설정된 maxRequestLength는 4096(4MB)으로 사용자가 고의로 큰 파일을 업로드하여 서버에 서비스 거부 공격을 하는 것을 제한할 수 있습니다.이 매개 변수를 크게 설정하는 것만으로는 부족합니다. 큰 파일을 업로드하는 데 일정한 시간이 필요합니다. 시간이 너무 길면 시간 초과가 발생할 수 있습니다. 이 시간은excutionTimeout 매개 변수에 의해 제어됩니다.
eg:웹에서.config의<시스템.web> 사이 추가:
//최대 업로드 파일은 40MB, 시간 초과는 60초로 구성됩니다.
 
이어서 문제 2와 문제 3을 해결한다.
소스 인스턴스를 직접 업로드하려면 다음과 같이 하십시오.
        FileUpload myFile=new FileUpload();

        if(myFile.HasFile){

            string strFileName = myFile.FileName;

            string strFileExt = System.IO.Path.GetExtension(strFileName);//                     

            if(strFileExt.ToLower()==".rar"){

                string strFileNewName=DateTime.Now.ToString("yyyyMMddhhmmss")+strFileExt;

                //           ,               ,        ,             。 

                

                string strUrl=Request.Url.ToString();

                //                URL       ,       Web  

                //    Request.Url          URL  ,                                     。 

                

                string strFileDownloadPath=strUrl.Substring(0,strUrl.LastIndexOf('/'))+'/'+strFileNewName; 

                

                int iFileSize=myFile.PostedFile.ContentLength; 

                

                myFile.SaveAs(Server.MapPath(strFileNewName));

                //SaveAs()            ,                    。    Server.MapPath()                   

                Response.Write(string.Format("      <br/>    : {0}<br/>    :{1}  <br/>",strFileDownloadPath,iFileSize)); 

            } 

            else{ 

                Response.Write("      rar  "); 

            }

        } 

        else{

            Response.Write("          "); 

        } 

 
5. IsPostBack 속성
이 속성은 페이지가 반송되었는지 여부를 가리키며, 페이지가 처음 불러왔는지 판단하는 데 자주 사용된다.만약 진실이라면 페이지가 이미 반송되었음을 설명하고, 그렇지 않으면 설명 페이지가 처음으로 불러왔습니다.
 
6. 어떻게 모판 페이지를 인용한 내용 페이지에서FindControl() 방법을 이용하여 페이지의 컨트롤을 찾습니까?   
나는 페이지에서 직접 사용한 적이 있다. 예를 들어
 
Button btn=Page.FindControl ("btnPass") as Button ;

 
실험은 이것이 완전히 통하지 않는다는 것을 증명했다. 이 btn은 공인용이다.   
그 이유는 개인적으로 문제는 이 페이지의 신분에서 비롯된다고 생각합니다. 이 내용 페이지는 모판을 인용했기 때문에 이 페이지는 마스터 페이지를 가리키는 것이지 콘텐츠 페이지를 가리키는 것이 아닙니다. 그래서 우리는 모판 페이지에서 콘텐츠 플레이 Holder를 찾고 그 중에서 FindControl 방법을 사용해야만 우리가 찾고 싶은 컨트롤을 찾을 수 있습니다.   
컨텐츠 페이지에서 핵심 객체 페이지는 연관된 마스터 페이지 기본 클래스인 MasterPage에 대한 참조를 제공하는 공통 속성 마스터가 있습니다.모면에 속하는 마스터페이지는 일반 ASP에 해당한다.NET 페이지의 페이지 객체MasterPage 객체를 사용할 수 있습니다.모판 페이지의 각 하위 대상에 대한 접근을 실현하다.   
따라서 정확한 방법은 다음과 같다.
  Button btn= Page.Master.FindControl ("ContentPlaceHolder1").FindControl("btnPass") as Button;       

 
2. 총결산
지식은 역시 한 번에 조금씩 말하는 것이 좋다. 길고 구리면 얼마나 좋지 않은가.다음에는 예전에'ASP.NET 첫걸음'을 읽었을 때의 학습 노트를 공유해 보자.
클릭해서 쳐다보고 싶은 동생들은 모두 감사와 감사를 표했다.
서로 격려하다

좋은 웹페이지 즐겨찾기