2013-08-07 2 views
0

나는 새로운 VS 프로젝트를 만들고 내가 스캔 위에 마우스를 할 때 나는 내 브라우저에 다음을 얻을 실행하면 새 페이지 default.aspxasp.net 자동으로 Javascript가 생성됩니까?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="WebApplication1._default" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
       <div id="top-menu" class="float-right"> 
       <ul class="main"> 
        <li><a id="A1" href="#" runat="server" class="current"><span>Home</span></a> </li> 
        <li><a href="#"><span>Members</span></a> 
         <ul class="sub curved"> 
          <li><a href="#">MemberPage1</a></li> 
          <li><a href="#">MemberPage2</a></li> 
          <li><a href="#">MemberPage3</a></li>       
         </ul> 
        </li> 
        <li><a href="#"><span>Blog</span></a> </li> 
        <li><a href="#"><span>Contact</span></a> </li> 
        <li><a href="#"><span>Admin</span></a> </li> 
        <li><a href="#" runat="server" onserverclick ="Scan_Click"><span>Scan</span></a></li> 
       </ul> 
      </div> 
    </div> 
    </form> 
</body> 
</html> 

에 다음 예제 코드를 복사 할 경우 - Javascript:_doPostBack('ctl02','')

enter image description here

나는이 바보 같은 질문이 아닌 희망 그래서 자바 스크립트를 사용하여 몰랐어요로이 나를 놀라게했다 ASP.NET 매우 새로운이기 때문에 ......

사용자가 브라우저에서 자바 스크립트를 비활성화하면 (예 : Tor 님이 최근에 통보 한 바와 같이) 서버 측 이벤트 Scan_Click이 실행되지 않는다는 의미입니까?

브라우저에 javascript가 비활성화 된 상태에서 asp.net 사이트에서 서버 측 스크립트를 실행할 수있는 대안이 있습니까?

답변

2

ASP.NET은 Postback 기능을 위해 JavaScript를 사용하므로 JavaScript를 활성화하지 않으면 ASP.NET이 실행되지 않습니다.

JavaScript없이 응용 프로그램을 실행하려면 ASP.NET MVC로 이동하고 일반적인 POST 작업을 사용해야합니다.

그러나이 다른 접근 방식에서는 일정, 메뉴 또는 단추와 같은 멋진 컨트롤이 없으므로 모든 것이 일반 HTML입니다.

+0

완전히 사실은 아닙니다. 클래식 양식 게시물을 사용하여 JavaScript를 사용하지 않고 페이지에 데이터를 게시 할 수 있습니다. –

+0

네, 맞습니다. 그러나 질문 샘플에서 @ooo는 js가 활성화되지 않은 채 실행되지 않는 Menu 컨트롤을 사용합니다 .-) – Oscar

+0

모든 멋진 컨트롤은 사용자가 제공하는 HTML입니다. 달력 컨트롤이 자바 스크립트 없이는 효과가 없을지라도 – DavidB

1

사용자가 브라우저에서 자바 스크립트를 비활성화하면 (예 : 최근에 Tor가 권고 한 바와 같이) 서버 측 이벤트 Scan_Click이 실행되지 않습니다. JS이 코드가 트리거 할 수없는 비활성화 된 경우 -

네는 runat="server" 속성은 ASP.NET 그것이 JS를 통해 호출 할 수있는 클라이언트 측 코드로 onserverclick 이벤트를 변환 할 수 있습니다.

브라우저에 javascript가 비활성화 된 asp.net 사이트에서 서버 측 스크립트를 실행할 수있는 대안이 있습니까?

당신은 수동으로 당신이 다시 게시를 호출하는 방법을 제어 할 수 HTML 출력, 당신은 당신이 JS에 의존하지 않도록 할 수있는 방법을 작성할 수 있습니다. 그러나 포스트 백을 위해 JS를 사용하지 않고 사이트 기능이 일반적으로 작동 할 가능성을 미리 고려해야합니다.

+1

하이퍼 링크는 ASP.Net에서 포스트 백을 사용하는 유일한 장소는 아니지만 그렇지 않습니까? 나는 그것보다 훨씬 광범위하게 사용되었다고 생각했다. 상자 선택, 버튼 선택 ... –

+0

@ T.J.Crowder nah, 입력 필드 등에서 사용할 수있다. 좀 더 일반적인 답변을 업데이트했다. – James

관련 문제