2016-05-16 2 views
0

У меня есть ящик реестра в пользовательской системе. И я хочу, когда пользователь нажимает на мою кнопку изображения, которая находится в моем gridview. Я буду вызывать протокол url из реестра и выполнить Explorer.exe с путём, который я назначу с помощью кнопки изображения в сетке.call expl.exe с пути от страницы aspx

создать реестр, который находится ниже

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\"" 

проблема заключается в том, что, когда я добавить @="\"C:\\Windows\\explorer.exe\ " "%1

% 1 для параметра, когда я прохожу начать c:\Logs моя система, чтобы открыть бесконечный проводник в панели задач. Но когда я использую @="\"C:\\Windows\\explorer.exe\"", его открытое исследование идеально подходит для клиентской системы. Но я хочу, чтобы explorer.exe открыл определенный путь в клиентской системе.

ниже мой код, который я стараюсь

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

Так как я могу это сделать. Спасибо за ваше время

ответ

-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' _Internet_ explorer not _Windows_ explorer. –

+0

@ davidarnol process.Start будет работать на стороне сервера, а не на стороне клиента –

Смежные вопросы