1

我正在尝试将文件名作为参数从 gridview Row (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 函数中得到完整路径,即

“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 函数中得到完整路径,即

“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 回答