1

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;
}
4

1 に答える 1

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;
}
于 2012-11-05T11:50:49.410 に答える