我正在尝试将文件名作为参数从 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;
}