2012-11-05 77 views
1

我试图从一个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; 
} 

回答

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