- - PR -
[ASP.NET]URLエンコードされたリンク先が正常に開かない
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-10-30 22:42
いつもお世話になってます!
ASP.NETを使用してWEBアプリを作成しています。 GridViewを使用してその中のHyperLinkFieldからファイル(日本語)をリンクさせる というものです。 この時HyperLinkFieldで設定したファイルがURLエンコードされ正常に開かない ようです。エンコードの文字コードもshift_jisやUTF-8などいろいろ試してみま した。何か良い方法はないでしょうか? | ||||||||
|
投稿日時: 2007-10-31 08:20
本来はURLエンコードされてないといけないんですけどね。
普通のHyperLinkでも自動でエンコードされますね。これを調整するプロパティがあるかは調べてませんが <a id="link" runat="server" href='<%# Eval("name") %>' >リンク</a> とかするしかないんですかねえ。 | ||||||||
|
投稿日時: 2007-10-31 09:05
べるさん、ありがとうございます。
元のデータベースが複数あり、そのデータを確認してGridViewのフィールド 形式を設定してからGridViewに引っ付けています。 この場合教えていただいた方法で作ろうとしたらどのようにしたらいいのでしょうか? よければ教えてください。 | ||||||||
|
投稿日時: 2007-10-31 10:48
あ、上記の <a タグはTemplateFieldに書くという意味でした。 しかし、こちらではURLエンコードされていても、EXCELとかPDFが正常に開けるんですがね。 | ||||||||
|
投稿日時: 2007-10-31 14:06
XMLファイルでGridViewの設定ファイルがあり
1.WEBを開くとXMLをよむ 2.GridViewフィールドの設定を行う。 3.DataTableにデータベースをほりこむ 4.GridViewにBINDする。 という感じです。アバウトすぎますでしょうか? 開ける開けないという状況は文字数が影響しているようです。 長いファイル名は開けませんでした。 | ||||||||
|
投稿日時: 2007-10-31 14:54
GridView1.Columns.Add(〜); みたいに動的に追加してるということですか?TemplateFieldを動的に追加するには (多分)ITemplateを実装したクラスを定義しておかなきゃいけないので、面倒くさいといえば面倒くさいですね。
| ||||||||
|
投稿日時: 2007-10-31 16:11
2083文字以下という制限はあるようですが。。。
http://support.microsoft.com/kb/208427/ja これ以上長くなってる、ということではないですよね。 | ||||||||
|
投稿日時: 2007-10-31 17:29
べるさん、どっとねっとふぁんさんありがとうございます。
文字は200文字くらいでだめになってしまいます。 エラーとしては ●EXCELファイル 1.CドライブのTemporary internetFilesというフォルダを見に行ってしまい ファイルがありませんといわれます。 ●WORDファイル 1.ファイル名が途中できれてしまいます。 |