一个js的函数
Code
function showFloat(i) //根据屏幕的大小显示两个层,同时将 i 赋值给一个隐藏的textbox
{
var range = getRange();
$('doing').style.width = range.width + "px";
$('doing').style.height = range.height + "px";
$('doing').style.display = "block";
document.getElementById("divApply").style.display="";
document.getElementById("<%=txtUserName.ClientID %>").value = i;
}
第一个gridview:
Code
<asp:TemplateField>
<ItemTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--中间省略-->
<tr>
<td style="text-align:right;" colspan="3">
<img src="~/Images/joinzh.jpg" onclick='<%#"showFloat("+ Eval("HireID")+")"%>' id="imgJoin" onmouseover="this.style.cursor='hand'" runat="server"/>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
再一个gridview:
Code
<Columns>
<asp:BoundField HeaderText="序号" DataField="AdminUserID" HeaderStyle-CssClass="gridviewalign" ItemStyle-CssClass="gridviewalign"/>
<!--省略-->
<asp:TemplateField HeaderText="修改密码" HeaderStyle-CssClass="gridviewalign" ItemStyle-CssClass="gridviewalign" ItemStyle-Width="80px">
<ItemTemplate>
<a href="javascript:void(0)" onclick="<%#"showFloat('"+ Eval("AdminUserName")+"')"%>">修改密码</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
两个gridview中,绑定表达式有一点区别,在第一个gridview中,如果改成onclick="<%#"showFloat('"+ Eval("HireID")+"')"%>",就会报错。
而第二个gridview中,如果改成onclick="<%#"showFloat("+ Eval("AdminUserName")+")"%>",就会提示变量没有定义,难道是因为HireID是整型数,而AdminUserName的原因吗?可是在绑定的最初,gridview会去判断eval()中字段的类型吗?请高手指点下小弟。谢谢。