如何在javascript文件中调用sql函数?asp.net c#

How to call a sql function inside a javascript file? asp.net c#

本文关键字:函数 asp net sql 调用 javascript 文件      更新时间:2023-09-26

我正在开发一个从sql数据库中获取条目的日历。在javascript文件中,日历是用程序构建的,当它在一天内生成日历单元格时,我对代码进行了硬编码(在本例中是var计数器),我只需要将查询放入函数中

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>";
        }

我在Code Behind中创建了这个方法,但我不知道如何传递Object Div来获得查询结果并将其设置在Divs中,或者获取计数器来将其放入查询并获得特定日期的结果

背后的代码

[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? :(
                }
            }
        }
    }

最好使用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>