Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / кирилический asp:HyperLink / 16 сообщений из 16, страница 1 из 1
12.12.2014, 15:07
    #38832538
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
Код: c#
1.
HyperLink1.NavigateUrl = "file:///" +dr["sFileName"].ToString();


Путь к файлу и имя его на кириллице... а ссылку делает на абре-кадабре посоветуйте что и как...
_____________________
С уважением, Василий.
...
Рейтинг: 0 / 0
12.12.2014, 15:30
    #38832578
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
cherik1,
.. попробуйте вот так

Код: c#
1.
HyperLink1.Attributes["href"] = "file:///" +dr["sFileName"].ToString();



How to deal with special characters in ASP.NET's HyperLink.NavigateUrl?
...
Рейтинг: 0 / 0
12.12.2014, 15:46
    #38832610
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
carrotik,
Невызываемый член "System.Web.UI.WebControls.WebControl.Attributes" не может использоваться в качестве метода.
...
Рейтинг: 0 / 0
12.12.2014, 18:07
    #38832853
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
cherik1,

... это я ссылку дал "как есть", а вообще говоря, зачем использовать HyperLink на файл, если можно вместо нее поставить, например, LinkButton, в обработчике которой с сервера найти файл и загрузить его через Response ... Тогда никаких проблем со ссылкой не будет, хоть она японская ...
...
Рейтинг: 0 / 0
13.12.2014, 02:59
    #38833017
Calabonga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
cherik1,


В web.config поставь формат для файлов utf-8
...
Рейтинг: 0 / 0
15.12.2014, 10:52
    #38833878
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
Calabonga, сделал - не помогло...
carrotik, а как? например вот Response.Redirect(HiddenField1.Value) не работает ... даже если через HttpUtility.UrlPathEncode енго пропуситить имя файла такое K:\Общие документы\.... то есть совсем без кириллицы не обойтись
...
Рейтинг: 0 / 0
15.12.2014, 11:56
    #38833952
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
firefox кириллицу понимает. IE - нет
Но оба заменяют символ "\" на "/"... зачем-то
...
Рейтинг: 0 / 0
15.12.2014, 12:12
    #38833995
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
cherik1Но оба заменяют символ "\" на "/"... зачем-то

это правильно
...
Рейтинг: 0 / 0
15.12.2014, 13:39
    #38834083
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
cherik1Calabonga, сделал - не помогло...
carrotik, а как? например вот Response.Redirect(HiddenField1.Value) не работает ... даже если через HttpUtility.UrlPathEncode енго пропуситить имя файла такое K:\Общие документы\.... то есть совсем без кириллицы не обойтись

.. я на WebForms заружал файлы с диска (там кириллические названия и папки) примерно вот каким образом: на IIS создаю виртуальный каталог, напр, SmetaFiles, который направлен на физический каталог на диске .. А в коде LinkButton, например внутри грида:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Dim sFileText As Label = CType(row.FindControl("lblFile"), Label)
            Dim strDownFile As String = sFileText.Text
            If e.CommandName = "sOpenIVR" Then
                strDownFile = strDownFile.Replace("КБ2", "ИВР")
            End If
            Dim strFilePath As String = Server.MapPath("SmetaFiles/" & strDownFile)
            Dim objFile As FileInfo = New FileInfo(strFilePath)
            If objFile.Exists Then
                Dim strAsterisk As String = String.Empty
                If Request.Browser.Browser.ToLower.StartsWith("firefox") Then
                    strAsterisk = "filename*="
                Else
                    strAsterisk = "filename="
                End If
                Response.Clear()
                Response.ContentType = "application/octet-stream"
                Response.AddHeader("Content-Disposition", "attachment;" + strAsterisk + Server.UrlPathEncode(objFile.Name))
                Response.Charset = "windows-1251"
                Response.AddHeader("Content-Length", objFile.Length.ToString())
                Response.Flush()
                Response.WriteFile(objFile.FullName)
                Response.End()
            Else
                'lblWarning.Text = "Нет файла ИВР!"
            End If


.. это фрагмент живого рабочего кода на VB.NET (С# аналогично) ...
...
Рейтинг: 0 / 0
17.12.2014, 15:49
    #38836121
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
hVostt, но мне надо просто ссылку на файл указать file:///C:/общие докменты/Sti_Trace.pdf
...
Рейтинг: 0 / 0
17.12.2014, 16:05
    #38836150
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
cherik1hVostt, но мне надо просто ссылку на файл указать file:///C:/общие докменты/Sti_Trace.pdf

в вебе пути разделяются слешем, это только в винде обратный слеш используется, больше нигде.
...
Рейтинг: 0 / 0
24.12.2014, 12:43
    #38841579
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
в вашем коде он просто качает файлы, а мне надо чтобы он открывал
Ну неужели это так сложно сделать???????????????
...
Рейтинг: 0 / 0
25.12.2014, 12:36
    #38842663
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
carrotik, спасибо - сделал - разобрался - ну, а если мне не надо скачивать файлы... мне надо открывать... тогда как???
Код: c#
1.
2.
3.
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment;" + strAsterisk + Server.UrlPathEncode(objFile.Name));
Response.Charset = "windows-1251";

В принципе, уже в таком виде меня удовлетворяет, но хочется все-таки сделать в соответствии с ТЗ...
...
Рейтинг: 0 / 0
25.12.2014, 12:56
    #38842699
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
carrotik, и кстати, в этом случае совсем не обязательно подключать папку к iis...
...
Рейтинг: 0 / 0
25.12.2014, 13:04
    #38842721
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
cherik1carrotik, и кстати, в этом случае совсем не обязательно подключать папку к iis...

.. я знаю, но таким образом удобнее видеть ее в коде .. но это на любителя ... что касается - открыть, а не загрузить, так вообще говоря код вызывает диалог в браузере "Сохранить/открыть.." где можно установить птичку "всегда открывать.." .. В разных браузерах разные диалоги, но суть одна ... Или я не понимаю, что вам надо ...
...
Рейтинг: 0 / 0
25.12.2014, 13:32
    #38842775
cherik1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кирилический asp:HyperLink
carrotik,нууу как
Код: c#
1.
Response.AddHeader("Content-Disposition", "inline;" + strAsterisk + Server.UrlPathEncode(objFile.Name));

вот такой код пытаюсь поставить он мне выдает "Выбранный документ не может быть открыт"...
то есть мне желательно в самом браузере открыть PDF-ку...
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / кирилический asp:HyperLink / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]