在Datagrid绑定数据的时候,当我有下面的绑定形式时:
<asp:TemplateColumn HeaderText="编辑">
<HeaderStyle HorizontalAlign="Center" Width=20></HeaderStyle>
<ItemTemplate>
<a href='#' onclick=Open_Page(<%# DataBinder.Eval(Container.DataItem,"OID")%>,'edit'><img src="../images/s_edit.gif" border="0"></a>
</ItemTemplate>
</asp:TemplateColumn>
在我从代码视图切换到设计视图时,就会弹出下面的对话框
----------------------------------------------
未能在"设计"视图中打开。用引号将"<% %>"块括起来,该块用作属性值或用在<SELECT>块元素中
----------------------------------------------
我只要把onclick=Open_Page(<%# DataBinder.Eval(Container.DataItem,"OID")%>,'edit'>中的(<%# DataBinder.Eval(Container.DataItem,"OID")%>去掉,它才可以切换到设计视图,请问你们遇到这种情况时是怎么解决的?
<asp:TemplateColumn HeaderText="编辑">
<HeaderStyle HorizontalAlign="Center" Width=20></HeaderStyle>
<ItemTemplate>
<a href='#' onclick=Open_Page(<%# DataBinder.Eval(Container.DataItem,"OID")%>,'edit'><img src="../images/s_edit.gif" border="0"></a>
</ItemTemplate>
</asp:TemplateColumn>
在我从代码视图切换到设计视图时,就会弹出下面的对话框
----------------------------------------------
未能在"设计"视图中打开。用引号将"<% %>"块括起来,该块用作属性值或用在<SELECT>块元素中
----------------------------------------------
我只要把onclick=Open_Page(<%# DataBinder.Eval(Container.DataItem,"OID")%>,'edit'>中的(<%# DataBinder.Eval(Container.DataItem,"OID")%>去掉,它才可以切换到设计视图,请问你们遇到这种情况时是怎么解决的?
用单引号引起来。
'<%#%>'
用单引号引起来。
'<%#%>'
用单引号引起来。
'<%#%>'这样是不行的,这样就把<%# DataBinder.Eval(Container.DataItem,"OID")%>做为字符串的参数传递给函数过程了。也碰到过这样的问题,希望谁能告诉答案,楼上的既然知道,为什么不说出来了,请教一下!!!
你也不用总用一种链接方法,可以换一种试试,以前刚做的时候我也遇到过这样的问题,但后来就不会了,顺便说一下,<a href='#'...>在。NET中不一定起作用
要用单引号把onclick事件引起来,如果把<%#...%>引起来的话,调用函数的参数就不对了
<a href='#' onclick=Open_Page(<%# DataBinder.Eval(Container.DataItem,"OID")%>,'edit'><img src="../images/s_edit.gif" border="0"></a>
改为:
<%# "<a href='#' onclick=Open_Page( "+ DataBinder.Eval(Container.DataItem,"OID")+ ",'edit'><img src='../images/s_edit.gif' border='0'></a>" %>