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

时间:2011-08-22 07:50:36

标签: javascript asp.net jquery-ui

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

    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();                   
    }        

问题是,在弹出模态表单时,字段(团队代码和团队名称)变得空白。请提供解决此问题的解决方案。

2 个答案:

答案 0 :(得分:3)

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

看一下JQuery的get()函数。对于可用性,最好以异步方式执行此操作。

提供可能的实施的

Here's a decent tutorial

HTH

答案 1 :(得分:0)

您可以使用httphandlers或作为上述用户提到的ajax调用。 您还可以使用Pagemethods从javascript调用服务器端代码。