2014-09-01 48 views
0

我正在开发一个从sql数据库中获取条目的日历。 在javascript文件里,日历是以编程方式编写的,并且当它在一天内生成日历单元格时对其进行硬编码(在这种情况下是var计数器),我只需要将查询放入函数中即可如何在JavaScript文件中调用一个sql函数? asp.net c#

JavaScript File

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 2014-09-01 16:27:09

+0

这只是一个例子,并确保通话正常(这是我的第一个功能):c – 2014-09-01 16:29:15

+0

想一下这样发生的顺序; 1.客户端请求页面,2.服务器调用代码生成页面源代码,3.调用结束,页面源代码传输给客户端,4.客户端接收页面源代码,5.服务器连接关闭,6.客户端浏览器解释源代码, ''在客户机上执行,8,结束翻译客户端,9,呈现页面显示给客户端。即在执行_JavaScript_时(步骤“7”),所有密集目的的**,服务器端代码已经完成,并且与服务器的连接已经关闭。 – 2014-09-01 16:35:25

回答

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

你能告诉我一个例子吗? – 2014-09-01 16:45:07

+0

@ user3748983好的 – Sylwekqaz 2014-09-01 19:34:09

相关问题