2016-05-16 8 views
0

Ich habe eine Registrierung auf Benutzer-System Kiste. Und ich möchte, wenn Benutzer auf meine Bildschaltfläche klicken, die in meiner Gridview ist. Ich werde Url-Protokoll von der Registrierung aufrufen und die Explorer.exe mit Pfad ausführen, den ich mit der Bildschaltfläche auf dem Raster zuweisen werde.Anruf explore.exe mit Pfad von Aspx Seite

Ich schaffe Registrierung, die unter

ist
Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\PicPath] 
@="URL: MPath Protocol" 
"URL Protocol"="" 

[HKEY_CLASSES_ROOT\PicPath\shell] 

[HKEY_CLASSES_ROOT\PicPath\shell\open] 

[HKEY_CLASSES_ROOT\PicPath\shell\open\command] 
@="\"C:\\Windows\\explorer.exe\"" 

das Problem, dass ist, wenn ich hinzufügen @="\"C:\\Windows\\explorer.exe\ " "%1

% 1 für den Parameter ist, wenn ich mein System c:\Logs passieren beginnen in der Taskleiste infinite Explorer zu öffnen. Aber wenn ich @="\"C:\\Windows\\explorer.exe\"" benutze, ist es offen, perfekt auf Client-System zu erkunden. Aber ich will, dass explorer.exe bestimmten Pfad auf dem Client-System öffnen.

unten ist mein Code, den ich

protected void grdOrderList_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    HtmlAnchor a = new HtmlAnchor(); 
    a.HRef = "MPath:OpenForm " + "/root,C:\\Abc"; 
    a.ID = "a1"; 

    System.Web.UI.WebControls.Image img = new System.Web.UI.WebControls.Image(); 
    img.ID = "img1"; 

    img.Visible = true; 
    img.ImageUrl = @"~\images\blue_camera.png"; 
    a.Controls.Add(img); 
    e.Row.Cells[0].Controls.Add(a); 
} 

So versuchen, wie ich dies tun können. Vielen Dank für Ihre Zeit

Antwort

-1
protected void grdOrderList_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    HtmlAnchor a = new HtmlAnchor(); 
    a.HRef = "MPath:OpenForm " + "/root,C:\\Abhishek"; 
    a.ID = "a1"; 

    //System.Web.UI.WebControls.Image img = new System.Web.UI.WebControls.Image(); 
    //img.ID = "img1"; 

    //img.Visible = true; 
    //img.ImageUrl = @"~\images\blue_camera.png"; 

    var img = new ImageButton(); 
    img.Click += new ImageClickEventHandler(img_Click); 
    a.Controls.Add(img); 
    e.Row.Cells[0].Controls.Add(a); 
} 

protected void img_Click(object sender, ImageClickEventArgs e) 
{ 
    System.Diagnostics.Process.Start(@"c:\blah.txt"); 
} 
+1

'IExplore' ist _Internet_ explorer nicht _Windows_ explorer. –

+0

@davidarnol process.Start wird auf der Serverseite nicht auf der Clientseite ausgeführt –