2013-01-08 37 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

沒有我嘗試這樣做還可以,但不能幫我。 –