2010-06-04 3 views
0

Windows 탐색기 (또는 explorer.exe)에서 열어 볼 링크가 Gridview에 있습니다.Linkbutton을 사용하여 Gridview에서 Windows 탐색기를 엽니 다.

<asp:GridView ID="GridView1"runat="server" > 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="DeploymentLocation" runat="server" CommandName="OpenLink" 
        Text='<%# Eval("DeploymentLocation") %>' CommandArgument='<%# Eval("DeploymentLocation") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 

및 코드 숨김에서 나는이있다 : 내가 들었 등, 내가 모든 권한이있는 경우 Process.Start를에만 작동으로

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
      Process.Start("explorer.exe", "/n," + e.CommandArgument.ToString()); 
    } 

은 분명히이 등이 작동하지 않습니다 자바 스크립트를 사용하여이 작업을 수행 할 수 있지만 지금까지 성공하지 못했습니다. 기본적으로 내가 원하는 것은 클릭했을 때 열리는 그리드에 표시되는 정확한 링크입니다. 어떤 도움을 많이 주시면 감사하겠습니다!

감사합니다.

답변

0

내가 관리 :

<ItemTemplate> 
    <asp:HyperLink Text='<%# Eval("DeploymentLocation") %>' id="DeploymentLocation" runat="server" Target="_blank" NavigateUrl='<%# "file:///" + Eval("DeploymentLocation").ToString() %>' ></asp:HyperLink> 
</ItemTemplate> 
0

웹 사이트에서 클라이언트 컴퓨터의 시작 프로세스를 발견 한 것이 불가능합니다. 이 웹 페이지 불구하고 리디렉션 수 :

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    Response.Redirect(e.CommandArgument.ToString()); 
} 

또 다른 옵션은 ActiveX control를 사용하는 것입니다 그러나 이것은 인터넷 익스플로러에서만 작동합니다.

0

(1) 중요한 실행 파일 인 특히 explorer.exe를 시작하기 위해 javascript를 사용하지 마십시오. 방화벽/바이러스 백신 소프트웨어가 위험한/파괴적인 행동을 고려하기 때문입니다.

(2) 어쨌든 웹 사이트/웹 응용 프로그램을 통해 클라이언트 사용자의 프로그램을 실행하는 것은 항상 친숙하지 않습니다. "explorer.exe"를 실행하여 로컬 디렉토리를 탐색하는 창을 열려고한다고 생각하십니까? 그렇다면 웹 페이지에서 Windows 탐색기 창을 시뮬레이트 할 수 있습니다. 쉽게 해결에