是否有可能在ASP.Net中执行客户端代码之前执行服务器端代码?

Is it possible to execute Server side code before executing client side code in ASP.Net

本文关键字:代码 执行 服务器端 有可能 客户端 ASP Net 是否      更新时间:2023-09-26

我在DataGrid中有一个用于编辑网格数据的链接按钮,我使用OnClientClick事件来加载模态表单,我还使用grid的onSelectedIndexChanged事件函数来加载编辑数据到控件。请参阅下面的服务器端代码

    protected void GetSelectedData(Object src, EventArgs e)
{
    String Team_Id = GridView1.DataKeys[GridView1.SelectedIndex].ToString();
    using (MySqlConnection DbConnection = new MySqlConnection(ConfigurationManager.AppSettings["ConnectionStr"]))
    {
        DbConnection.Close();
        string cmdText = "SELECT Team_Id,Team_code,Team_Name FROM Team_Details WHERE Team_Id=?Id";
        MySqlCommand cmd = new MySqlCommand(cmdText, DbConnection);
        cmd.Parameters.Add("?Id", MySqlDbType.Int32).Value = Convert.ToInt32(Team_Id);
        DbConnection.Open();
        MySqlDataReader DR = cmd.ExecuteReader();
        while (DR.Read())
        {
            this.txtTeamCode.Text = DR.GetValue(1).ToString();
            this.txtTeamName.Text = DR.GetValue(2).ToString();
        }
    }
}

请参阅调用模态窗口的客户端代码,

        function EditDialog(){ 
        $('#newTeam').dialog("open");   
        alert(document.Team.txtTeamCode.value);          
        document.getElementById("cvCode").innerHTML = '';
        document.Team.txtTeamCode.focus();                   
    }        

问题是,当弹出模态表单时,字段(团队代码&球队名字)都是空白的。请提供解决方案

您可以使用AJAX请求填充模态弹出窗口的字段—调用返回所需数据项的对象/服务,然后相应地修改GUI。

看一下JQuery的get()函数。为了可用性,最好是异步的。

这是一个不错的教程,提供了一个可能的实现。

HTH

您可以使用httphandler,或者像前面用户提到的那样进行ajax调用。您还可以使用Pagemethods从javascript调用服务器端代码。