문제

기능의 차이는 무엇입니까?

<asp:Button id="button1" Text="Click me" runat="server" OnClick="submitEvent" />

그리고

<input type="button" id="button1" runat="server" value="Click me" />

runat = "Server"속성이있는 입력에는 다른 속성 또는 제한된 속성과 메소드가 있습니까?

고맙습니다!

도움이 되었습니까?

해결책

첫 번째는 a System.Web.UI.WebControls.Button 두 번째는 a를 만듭니다 System.Web.UI.HtmlControls.HtmlInputButton.

둘 다 서버 컨트롤이지만 컨트롤은 WebControls 네임 스페이스는 일반적으로 컨트롤보다 약간 더 많은 기능이 있습니다. HtmlControls 네임 스페이스. 일반적으로 일부 데이터를 넣습니다 ViewState 상태를 추적하기 위해 서버 측 포스트 백 이벤트가 있습니다.

각각의 컨트롤 HtmlControls 네임 스페이스는 HTML 요소에 정확히 해당하지만 컨트롤은 WebControls 페이지를 요청하는 브라우저가 지원할 수있는 브라우저에 따라 네임 스페이스를 다르게 렌더링 할 수 있습니다.

다른 팁

버튼이 표시됩니다 <asp:Button runat="server".../> Rich State 모델과 다른 속성 및 방법을 사용하여 웹 서버 컨트롤로 변환됩니다. Button.text = "Click Me"와 같은 실제 세계에서 더 명확한 표현을 갖는 방법.

버튼이 표시됩니다 <input type="button" runat="server"..../> HTMLINPUTBUTTON으로 표시되는 HTML 서버 컨트롤로 변환됩니다. 속성, 방법 및 이벤트가 제한되어 있습니다. 대부분의 속성은 button.value = "Click Me"와 같은 HTML 등가물과 비슷합니다.

마크 업 페이지의 요소는 사용하기 전에 사전 처리/컴파일되며 모든 요소가 컨트롤로 표시되는 클래스 표현으로 변환됩니다. 올바른 일치하는 서버 컨트롤 (Web/HTML), <input type="button.../> runat = "Server"를 사용하여 태그는 문자 제어로 표시됩니다.

이전 라인은 ASP.NET이며 후자는 단순한 XHTML입니다.

전자는 서버 측에서 구문 분석하고 해석 한 후 HTML 코드가 생성되며, 이는 두 번째 예제에 해당합니다. ASP.NET 버튼은 HTML 입력 버튼 기능을 통해 라이트 래퍼보다 훨씬 더 중요하며 처리 해야하는 곳 어디에서나 사용해야합니다. Click 서버 측에서 이벤트 (또는 일반적인 경우 모든 이벤트), 일반적으로 ASP.NET이 귀하를 위해 페이지의 버튼 아이디어를 추상화하게하기 때문에 일반적으로 이동하는 방법입니다.

두 컨트롤의 기능은 첫 번째 컨트롤이 .NET Control이고 두 번째는 사용하여 ServerControl을 만들 수있는 HTML 컨트롤의 차이와 동일합니다.

runat = "서버".

그리고 첫 번째는 두 번째로 Evant와 Metods가 풍부합니다 ....

이러한 컨트롤과 관련된 서버 이벤트는 없지만 CodeBehind에서 사용하여 속성을 변경할 수 있습니다.

두 번째 옵션은 아마도 작동하지 않을 것입니다. runat = "Server"는 기능이없고 HTML 유효성 검사 만 중단되는 HTML 출력으로 직접 렌더링됩니다.

입력은 HTML 속성 만있는 HTML 요소이며 확실히 어떤 종류의 방법도 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top