gridview 行 (C#) から JS 関数に引数としてファイル名を渡そうとしています:
onclick='<%# Eval("ImageName", "return loadImage({0})") %>'
次のようにレンダリングされます。
onclick="return loadImage(Happy.jpg)"
およびエラー:
Uncaught ReferenceError: Happy is not defined
手動で一重引用符(' ')を追加したところ、正常に動作しました。
onclick="return loadImage('Happy.jpg')"
プログラムで引用符を追加するにはどうすればよいですか、または dot(.) で JS パラメータを渡すにはどうすればよいですか?
('{0}') は機能しませんでした。エラー: 「サーバー タグの形式が正しくありません。」
===============ソリューション==================
わかりました、次のように解決しました:
追加したonclick="javascript:loadImage(this.src);"
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/UploadedImages/"+ Eval("ImageName") %>' Height="43px" Width="55px" onclick="javascript:loadImage(this.src);" CssClass="dlImage" />
js Function ie内のフルパスを取得しました
"http://localhost:52636/ChuttiTime_Alka/UploadedImages/Happy.jpg"
ファイル名を取得するためにスライスしました
function loadImage(imageName) {
var bigImage = document.getElementById("ctl00_ContentPlaceHolder1_FEPropertyImageControl1_propertyBigImage")
var filename = imageName.replace(/^.*[\\\/]/, '')
bigImage.src='../UploadedImages/'+filename;
}