2014-09-01 6 views
0

나는 SQL 데이터베이스에서 항목을 취하는 달력을 개발 중이다. javascript 파일 안에 캘린더가 프로그래밍 방식으로 빌드되어 있고 하루 안에 캘린더 셀을 생성 할 때 코드를 하드 코드했는데 (이 경우 var 카운터), 함수 내에 쿼리를 넣으면됩니다.자바 스크립트 파일에서 SQL 함수를 호출하는 방법은 무엇입니까? asp.net C#

JavaScript 파일

if (counter == 2 //2 is the Harcoded day 
     && mes == 8 //Hardcoded month 
     && anio == 2014) { //Harcoded year 
      PageMethods.Msg(onSuccess); 
      function onSuccess(response) { 
       alert(response); 
      } 

      htmlContent += "<div class='usuer'>Here data retrieved from DB</div>"; 
      htmlContent += "<div class='client'>Here data retrieved from DB</div>"; 
      htmlContent += "<div class='num'>Here data retrieved from DB</div>"; 
      htmlContent += "<div class='status'></div>"; 
     } 

난 뒤에 코드에서 메서드를 만들하지만 난 쿼리의 결과를 얻고 div를에서 설정 또는 쿼리에 넣어 카운터를 얻고 얻을 수있는 오브젝트 사업부를 전달하는 방법을 잘 모릅니다 특정 일의 결과

코드 뒤에

당신이

당신이 당신의 데이터를 준비하고 볼 수있는 매개 변수로 보낸 조치를 작성해야하는 경우

[System.Web.Services.WebMethod] 
    public static string Msg() 
    { 
     return "Hello world"; 


     string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; 
     using (SqlConnection myConnection = new SqlConnection(connStr)) 
     { 
      myConnection.Open(); 
      SqlCommand sqlCommand = new SqlCommand(" SELECT * FROM table",myConnection); 


      //Add parameters to the query 
      //<--- Here? How to get counter of the javascript file? :( 


      SqlDataReader dr = sqlCommand.ExecuteReader(); 
      if (dr != null) 
      { 
       while (dr.Read()) 
       { 
        //<-- Here? How to set the result to the divs? :(

       } 
      } 
     } 
    } 
+0

를 레이아웃에 추가 왜'반환에 "Hello World";'상단에? – letsjak

+0

예를 들어서 통화가 작동하는지 확인하십시오. (내 첫 번째 기능입니다) : c –

+0

이런 일이 일어나는 순서를 생각해보십시오. 1. 클라이언트 요청 페이지, 2. 서버는 페이지 소스를 생성하는 코드를 호출합니다. 3. 호출이 끝나고, 클라이언트에 전송 된 페이지 소스, 클라이언트가 페이지 소스를 수신합니다. 5. 서버가 닫히고 연결이 끊어졌습니다. 6. 클라이언트의 브라우저가 소스를 해석합니다. ''는 클라이언트의 컴퓨터에서 실행됩니다. 8. 해석 클라이언트가 끝납니다. 9. 렌더링 된 페이지가 클라이언트에 표시됩니다. ** 모든 집중적 인 목적을 위해 ** _JavaScript_가 실행될 때까지 (단계 '7'), 서버 측 코드는 이미 완료되었으며 서버에 대한 연결은 이미 닫혀 있습니다. –

답변

0

를보다 효율적으로 사용하는 Ajax 요청은 일정에 데이터를로드하지만합니다. 보기에서 <script> 태그 여기에 코드를 사용하십시오.

acction

public ActionResult MyJS() 
    { 
     calendar = new List<DateTime>(); 

     calendar.Add(DateTime.Parse("2010-03-21 12:00")); 
     calendar.Add(DateTime.Parse("2011-03-21 12:00")); 
     calendar.Add(DateTime.Parse("2012-03-21 12:00")); 

     return View(calendar); 
    } 

에 Viev

@model List<DateTime> 
@{ 
    Layout = null; // important 
} 
@foreach (var item in Model) 
{ 
    <text> 
     alert(" @item.ToString() "); 
    </text> 
} 

<script src="home/myjs"></script>

+0

예를 보여 줄 수 있습니까? –

+0

@ user3748983 확인 – Sylwekqaz

관련 문제