0

嗨,在调用 JavaScript 函数时总是遇到麻烦,参数值是绑定到 gridview 的值。我遵循SO Thread但不能用于传递this参数。下面是我在我的 aspx 页面中使用的语句。

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

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

4

2 回答 2

6

这可行,但似乎是一个 HACK,因为我删除了封闭引号(反 XHtml)

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

问题是具有" "" "' '' '作为字符串的一部分。

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

 control.Attributes["onblur"] = String.Format("return ValidateText(this, '{0}')", rowValue);
于 2013-01-08T08:50:38.667 回答
1

我认为问题是最外层的双引号",将其更改为单引号'

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

更新

尝试string.Format()按照您所指的 SO 问题中所述使用..

onblur='<%# System.String.Format("return ValidateText(this, \"{0}\")", Eval("vehicleId")) %>'
于 2013-01-08T08:46:01.873 回答