私はサムネイルのギャラリーを持っています。サムネイルをクリックすると、メイン画像はjQueryを使ってクリックしたサムネイルに変更され、サムネイルの 'src'タグが変更されます。これは期待どおりに動作します。jqueryを使ってイメージのsrcを変更すると、srcは私の#codebehindで変更されないのですか?
$('#ContentPlaceHolder1_photoSpotImage').attr('src', src.replace(/-thumbs/, ''));
私はリンクをクリックすると、ヘッダーのContent-Dispositionメソッドを使用してイメージをダウンロード可能なファイルにします。コードにハード設定されている場合、期待どおりに動作します。
<asp:LinkButton runat="server" PostBackUrl="" ID="link2TheDownload" Text="+ download it" onclick="link2TheDownload_Click"></asp:LinkButton>
ここで、タグの 'src'タグから選択したイメージのファイル名を取得するコードビハインドにプログラムで追加しました。
string thisServerName = Request.ServerVariables["SERVER_NAME"].ToString();
string thisHref = "http://" + thisServerName + "/" +photoSpotImage.Src.ToString();
Uri uri = new Uri(thisHref);
string filename = Path.GetFileName(uri.LocalPath);
string thisAttachment = "attachment; filename=" + filename.ToString();
Response.ContentType = "image/jpeg";
Response.AppendHeader("Content-Disposition", thisAttachment.ToString());
Response.TransmitFile(strDirectFilePath.ToString() + "/photos/1/" + filename.ToString());
Response.End();
C#のファイル名は、最初はOnloadに設定されていますが、jQueryはsrcを変更していないようです。
私はユーザーが適切なイメージファイルをダウンロードできるように、現在のファイル名を取得する必要があります。
ヘルプ!
'photSpotImage.Attributes [" src "]' –
C#ソースを見ると、 "runat = Server"と表示されます。 Webフォームは、サーバーの生き物です(HTMLで表示され、ブラウザに送信されます)。 jQueryは完全にクライアント側です(ブラウザでは完全に実行されます)。 twainは決して会わなければなりません:) – paulsm4