Bonjour,

Je désespère d'y arriver!... Je me base sur les 2 articles suivants:
http://www.aspdotnetcodes.com/Ajax_M..._GridView.aspx
http://www.aghausman.net/dotnet/pass...dal-popup.html

J'ai un GridView et je veux que quand on clique sur "modifier", une popup s'affiche avec le formulaire de modification.
Je ne parviens pas à passer les paramètres à mon UserControl...

Ci-dessous mon code :

gestion-parametrage.aspx

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
<script type="text/javascript">
function createXhrObject()
{
    if (window.XMLHttpRequest)
        return new XMLHttpRequest();
 
    if (window.ActiveXObject)
    {
        var names = [
            "Msxml2.XMLHTTP.6.0",
            "Msxml2.XMLHTTP.3.0",
            "Msxml2.XMLHTTP",
            "Microsoft.XMLHTTP"
        ];
        for(var i in names)
        {
            try{ return new ActiveXObject(names[i]); }
            catch(e){}
        }
    }
    window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest.");
    return null; // non supporté
}
request = createXhrObject();
function setupParam(login)
{
    alert(login);
    var divComm = document.getElementById('<%=PanelPopup.ClientID %>');
    divComm.innerHTML = "Please wait processing your request!!!";
    var rnd = Math.random() * 1000000;
    var url = 'ControlCaller.aspx?Login=' + login;
    alert(url);
    request.open("GET", url, true);
    request.onreadystatechange = GetResultComplete;
    request.send(null);
}
function GetResultComplete() {
    if (request.readyState == 4) {
        if (request.status == 200) {
            var divComm = document.getElementById('<%=PanelPopup.ClientID %>');
            if (divComm) {
                alert(request.responseText);
                divComm.innerHTML = request.responseText;
            }
        }
    }
}
</script>
<form id="Form1" action="" runat="server">
<asp:GridView ID="GridView1" Runat="server" DataSourceID="ObjectDataSource1" AutoGenerateColumns="False"
                AllowPaging="True" DataKeyNames="Login,EmpCode" OnRowDataBound="GridView1_RowDataBound">
                <Columns>
 
                  <asp:BoundField HeaderText="Login" DataField="Login" SortExpression="LOGIN"/>
                  <asp:BoundField HeaderText="Code employé" DataField="EmpCode" SortExpression="EMPCODE" />
                  <asp:HyperLinkField Text="Modifier"  DataNavigateUrlFields="Login"  DataNavigateUrlFormatString="~/UI/Parametrage/fiche-utilisateur.aspx?login={0}" Target="_blank" />
                  <asp:TemplateField>
                    <ItemTemplate>
                        <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server" 
                            PopupControlID="PanelPopup" 
                            TargetControlID="lnkModifier"
                            BackgroundCssClass="modalBackground">
                        </ajaxToolkit:ModalPopupExtender>
                        <asp:LinkButton ID="lnkModifier" runat="server" Text="Modifier"></asp:LinkButton>
                    </ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField ShowHeader="False">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" 
                                            CausesValidation="False" 
                                            CommandName="Delete" 
                                            OnClientClick="return confirm('Etes-vous sûr de vouloir supprimer cet utilisateur ?');"
                                            Text="Supprimer">
                            </asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                  <AlternatingRowStyle BackColor="AliceBlue" />
                  <RowStyle BackColor="Azure" />
              </asp:GridView>
              <asp:ObjectDataSource ID="ObjectDataSource1" Runat="server" TypeName="BLL.UserBLL"
                SelectMethod="GetUsers" DeleteMethod="DeleteUser" UpdateMethod="UpdateUser" 
                DataObjectTypeName="BusinessObjects.UserBO" SortParameterName="sortExpression">
              </asp:ObjectDataSource>
</form>
gestion-parametrage.aspx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
 
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            LinkButton linkButton = (LinkButton)e.Row.FindControl("lnkModifier");
            linkButton.Attributes.Add("onclick", "setupParam('" + GridView1.DataKeys[e.Row.RowIndex].Value + "')");
        } 
 
    }
ControlCaller.aspx:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ControlCaller.aspx.cs" Inherits="UI_Intervention_ControlCaller" %>
<%@ Register Src="WebUserControl.ascx" TagName="Control" TagPrefix="uc2" %>
<uc2:Control ID="Control1" runat="server"/>
WebUserControl.ascx.cs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
 
public partial class UI_Intervention_WebUserControl : System.Web.UI.UserControl
{
    private string _login;
    private string _codeEmp;
    private string _instance;
 
 
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Response.Write("<input type='text' value='"+_login+"'/>");
        }
    }
 
    public string Login
    {
        get { return _login; }
        set { _login = value; }
    }
    public string CodeEmp
    {
        get { return _codeEmp; }
        set { _codeEmp = value; }
    }
    public string Instance
    {
        get { return _instance; }
        set { _instance = value; }
    }
}
Je n'arrive pas à voir ce qui me manque pour récupérer mon paramètre login!

Please help me!

Merci