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