2013-01-08 39 views
0

您好总是调用JavaScript函数参数值绑定到GridView的值。我按照SO Thread但不能用于传递this参数。以下是我在aspx页面中使用的声明。服务器标记格式不正确。当传递参数到JavaScript函数

onblur="return ValidateText(this,'<%# Eval("vehicleId") %>')" 

但是这给了我解析错误The server tag is not well formed.我应该如何调用设计该功能只(而不是从后面的代码)。

+0

尝试的onblur = '返回ValidateText(这一点,<%#的eval( “vehicleId”)%>)' –

回答

4

这工作,但因为我去掉了封闭的报价似乎是一个HACK(抗-XHtml)

onblur=<%# String.Format("return ValidateText(this, '{0}')", Eval("VehicleID")) %> 

T他的问题是" "" "' '' '作为字符串的一部分。

这是更好的做法(我希望它更容易在标记),在代码隐藏,例如,的RowDataBound或的ItemDataBound

control.Attributes["onblur"] = String.Format("return ValidateText(this, '{0}')", rowValue); 
+0

感谢第一次工作很好.. –

+0

我可以证实,脱掉外面的单引号固定它为我。谢谢。 –

+0

好的html需要你把你的属性加上引号......但是只要你的浏览器支持它,你就可以。 :) – codingbiz

1

我认为问题是最外面的双引号",改为单引号'

onblur='return ValidateText(this,'<%# Eval("vehicleId") %>')' 

UPDATE

尝试使用string.Format()如SO质疑你是闯民宅提到..

onblur='<%# System.String.Format("return ValidateText(this, \"{0}\")", Eval("vehicleId")) %>' 
+0

没有我尝试这样做还可以,但不能帮我。 –