개발꿈나무
[Blazor] 버튼 클릭할 경우 XML 파일 열기(2) - 메모장으로 열기 본문
반응형
[Blazor] 버튼 클릭할 경우 XML 파일 열기(1)
버튼을 클릭하면 어떤 경로에 있는 xml 파일을 열어보자 우선 나는 Blazor로 프로젝트를 진행중이고, UI로는 Telerik을 사용하고 있다. 이 상황에서 내가 해야할 것은 Telerik Grid 안에 db 내용으로 button
hyokye0ng.tistory.com
지난 포스팅에서 Telerik UI를 사용하지만 sorting 기능도 지원이 되게끔 버튼을 생성했다.
이번 포스팅에서는 그 버튼을 클릭할 경우, XML 파일이 열리도록 해보자
우선 내 프로젝트의 appsettings.json 파일은 4가지 환경으로 나눠져있다.
환경마다 xml 파일이 저장되어 있는 경로가 다르기 때문에 현재의 config에서 xml 경로를 가져와야 했다.
내 프로젝트의 appsettings에는 XMLRepository가 다음과 같이 저장되어 있다.
"XMLRepository": "\\\\ss06.cha.volvo.net\\wc2vpm$\\WCMETADATA",
따라서 SysinfoService.cs라는 service를 하나 만들고 다음과 같이 코드를 작성했다.
using Microsoft.Extensions.Configuration;
namespace VPMIntegration.Blazor.Services
{
public class SysinfoService
{
IConfiguration config;
public SysinfoService(IConfiguration config)
{
this.config = config;
}
public string GetXMLRepository()
{
return config.GetValue<string>("XMLRepository");
}
}
}
현재의 config에서 XMLRepository의 Value를 가져오겠다는 것이다.
생성해놓은 서비스의 메소드를 Page에서 사용한다.
@code{
public string xmlrepositoryString { get; set; }
private void XML_Load(string dcn_no)
{
xmlrepositoryString = SysinfoService.GetXMLRepository(); //Get xml 파일 경로
string xml_path = @$"{xmlrepositoryString}\{dcn_no}.xml"; //파일명을 합친 path 생성
if (File.Exists(xml_path)) //file이 존재할 경우
{
Process.Start("notepad.exe", xml_path); //notepad를 이용하여 파일 open
}
else //file이 없을 경우
{
Console.WriteLine("The file {0}.xml could not be located", dcn_no);
}
}
}
버튼을 클릭할 경우 XML_Load를 호출하면 xml파일이 메모장으로 열린다.
<button class="btn_dcnno" @onclick="(() => XML_Load(currItem.DCN_NO))">@currItem.DCN_NO</button>
반응형
'C# > Blazor' 카테고리의 다른 글
[Blazor] 버튼 클릭할 경우 XML 파일 열기(4) - XML data 읽어와 browser에 뿌리기 (0) | 2021.10.14 |
---|---|
[Blazor] 버튼 클릭할 경우 XML 파일 열기(3) - XML 파일 data 읽어 console에 출력하기 (0) | 2021.10.14 |
[Blazor] JSRuntime - 새로운 탭에서 razor 파일 열기 (0) | 2021.10.14 |
[Blazor] 버튼 클릭할 경우 XML 파일 열기(1) - Telerik에서 sorting 가능한 버튼 생성 (0) | 2021.10.12 |
[Blazor] 데이터와 함께 page 이동하기 (0) | 2021.09.30 |
Comments