我正在尝试从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')"
现在如何以编程方式添加引号,或者如何使用点(。)传递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://本地主机: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;
}
答案 0 :(得分: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://本地主机: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;
}