Javascript 使用ajax从标签中获取值时,我的搜索查询不起作用

Javascript 使用ajax从标签中获取值时,我的搜索查询不起作用,javascript,c#,asp.net,Javascript,C#,Asp.net,当我从javascript获取变量数据时,我的搜索查询不起作用。这里是代码。它没有显示任何记录。当我使用break point时,我得到(GetScreenshot value=“”)它没有给出他在我运行页面时包含的值。实际上它有值。有帮助吗 <asp:Label ID="GetScreenshot" runat="server" ></asp:Label> <script>

当我从javascript获取变量数据时,我的搜索查询不起作用。这里是代码。它没有显示任何记录。当我使用break point时,我得到(GetScreenshot value=“”)它没有给出他在我运行页面时包含的值。实际上它有值。有帮助吗

       <asp:Label ID="GetScreenshot" runat="server" ></asp:Label>
       <script>
           $(document).ready(function () {

         document.getElementById("GetScreenshot").innerText = localStorage.getItem("Value");
       
            });
             </script>

         **The asp.net code is** 

         private int BindList(int PageNo)
         {
         

            int TotalRows = 0;
            DataTable dt = new DataTable();
            
            SqlConnection con = new SqlConnection(strConnString);
            SqlDataAdapter sda = new SqlDataAdapter();
            SqlCommand cmd = new SqlCommand("SELECT Image FROM [ezitaske_db].[tasker_usr]. 
            [Screenshot] where Task='"+GetScreenshot.Text+"'");
           
            cmd.Connection = con;
        

           try
           {
            con.Open();
            sda.SelectCommand = cmd;
            sda.Fill(dt);
            DataList1.DataSource = dt;
            DataList1.DataBind();
            //TotalRows = Convert.ToInt32(cmd.Parameters["@TotalRows"].Value);
            }
             catch (Exception ex)
            {
            Response.Write(ex.Message);
            }
            finally
            {
            con.Close();
            sda.Dispose();
            con.Dispose();
            }
       
            return TotalRows;
       

            }

$(文档).ready(函数(){
document.getElementById(“GetScreenshot”).innerText=localStorage.getItem(“值”);
});
**asp.net代码为**
私有内部绑定列表(内部页面号)
{
int TotalRows=0;
DataTable dt=新的DataTable();
SqlConnection con=新的SqlConnection(strConnString);
SqlDataAdapter sda=新的SqlDataAdapter();
SqlCommand cmd=new SqlCommand(“从[ezitaske_db].[tasker_usr]中选择图像。
[Screenshot]其中Task='“+GetScreenshot.Text+'”;
cmd.Connection=con;
尝试
{
con.Open();
sda.SelectCommand=cmd;
sda.填充(dt);
DataList1.DataSource=dt;
DataList1.DataBind();
//TotalRows=Convert.ToInt32(cmd.Parameters[“@TotalRows”].Value);
}
捕获(例外情况除外)
{
响应。写入(例如消息);
}
最后
{
con.Close();
sda.Dispose();
con.Dispose();
}
返回TotalRows;
}

如果我理解您提供的代码:

页面加载时将执行JavaScript代码<代码>绑定列表在您收到请求、准备响应时执行。因此,
GetScreenShot
控件中没有可供
BindList
方法使用的值,因为
$.document.ready()
尚未执行

这里的问题是理解ASP.NET中呈现页面的事件顺序。您应该能够用谷歌搜索您正在使用的特定技术(ASP.NETClassic、core、MVC等)的内容,因为这些年来已经发生了变化


需要特别注意的是,JavaScript代码仅在HTML、CSS和JavaScript到达浏览器后执行,此时,在回发或发出请求之前,.NET代码无法与您的JavaScript文档交互。

目前的主要问题是,我希望先运行JavaScript,然后使用Bindlist方法执行其他页面加载事件。这是可能的,但与您在学习过程中所处的位置相比,这是相当先进的。您需要的是一个Web服务来封装数据库调用并返回数据(用C#编写),以及一个JavaScript代码来调用Web服务并检索其结果,然后用结果填充下拉列表。