Передача значения каталога из тега привязки с помощью ActionLink в контроллер - PullRequest
1 голос
/ 07 августа 2020

Я пытаюсь получить значение каталога / папки из тега привязки, используя ActionLink для моего контроллера. Я уже закодировал значение, но он всегда выдает ошибку 404.

Текст / значение ссылки {item.Folder}: \\ webserver01 \ business \ application

Значение, которое я получаю:% 5C % 5Cwebserver01% 5Cbusiness% 5 Приложение

Исходное

@Html.ActionLink(item.Folder, "OpenFolder", new { id = item.Folder }, new { @class = "", @target = "_blank" })

Второе решение

@Html.ActionLink(item.Folder, "OpenFolder", new { id = HttpUtility.UrlDecode(item.Folder) }, new { @class = "", @target = "_blank" })

Третье решение

@Html.ActionLink(item.Folder, "OpenFolder", new { id = item.Folder.Replace("%5C" "\\" }, new { @class = "", @target = "_blank" })

Четвертое решение - замена% 5 C на 100, затем замените 100 на \\ в контроллере.

@Html.ActionLink(item.Folder, "OpenFolder", new { id = item.Folder.Replace("%5C" "100" }, new { @class = "", @target = "_blank" })

4 решения, дающие мне значение:% 5C% 5Cwebserver01% 5Cbusiness% 5Capplication

Примечания:

  • Я пытаюсь открыть каталог в теге привязки. Он не работает в Chrome из-за «проблем с безопасностью»
  • Будет использовать Process.Start (), а затем открыть файл или каталог

Ответы [ 2 ]

0 голосов
/ 09 августа 2020

Преобразуйте полученное значение из Link text/value of {item.Folder}:

\\webserver01\business\application

в:

//webserver01/business/application

Другими словами, отредактируйте item.Folder, содержащий backsla sh, и замените это будет с прямым sla sh.

Это будет результат HTML на основе исходного решения:

<a class="" href="/ControllerName/OpenFolder/webserver01/business/application" 
target="_blank">//webserver01/business/application</a>
0 голосов
/ 07 августа 2020

Если я правильно понимаю, вы пытаетесь отправить содержимое item.folder действию в вашем контроллере?

Если это так, подумайте о создании формы с текстовым полем для item.folder. Метод формы может быть Get вместо Post.

...