Чтобы объяснить, что хотите сделать.
Это (версия 1.) отлично работает ...
Default.aspx (версия 1.)
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
setInterval(function () {
$("#show").load("Data.aspx")
}, 3000);
});
</script>
<div id="show"></div>
Data.aspx (вер. 1)
protected void Page_Load(object sender, EventArgs e)
{
FillList();
}
[WebMethod]
public void FillList()
{
string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand("SELECT Name,Nick FROM dbBase ORDER BY id ASC"))
{
using (MySqlDataAdapter da = new MySqlDataAdapter())
{
cmd.Connection = con;
da.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
}
Но когда я использую [WebMethod] ....
НЕ РАБОТАЕТ
Default.aspx (версия 2)
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
setInterval(function () {
$('#show').load()
.$.ajax({
url: "Data.aspx/FillList"
});
}, 3000);
});
</script>
<div id="show"></div>
А в Data.aspx я удаляю FillList (); из Page_Load.
Ajax не будет вызывать void FillList (). Вы видите, где проблема?