我试图从一个GridView行传递一个文件名作为参数传递给JS函数(C#)(。):传递参数与点到JavaScript函数
onclick='<%# Eval("ImageName", "return loadImage({0})") %>'
其被渲染为:
onclick="return loadImage(Happy.jpg)"
和ERROR:
Uncaught ReferenceError: Happy is not defined
当我手动加单引号(”“),它的工作正常,像
onclick="return loadImage('Happy.jpg')"
现在我该怎么编程添加引号,否则我如何传递JS参数与点(。)?
('{0}')did'nt工作,错误:“服务器标记不正确形成。”
=============== SOLUTION ==================
好了,解决它像这样:
添加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;
}