未能在“设计”视图中打开。在“<%..."值"...%>”块中,以不同的方式将值括起来,

loveness 2008-02-24 06:24:55
<ItemTemplate>
<FONT face="宋体"><A href='pictbrow.aspx?pict_name=<%# DataBinder.Eval(Container.DataItem,"pict_name") %>' target=_blank>
onmouseover="image1.src='../prodpict/<%# DataBinder.Eval(Container.DataItem,"pict_name") %>.jpg';MM_showHideLayers('balloon','','show');"
</A></FONT>
</ItemTemplate>
运行提示“未能在“设计”视图中打开。在“<%..."值"...%>”块中,以不同的方式将值括起来,。。。”
onmoseover中的<%# DataBinder.Eval(Container.DataItem,"pict_name") %>有问题,如果这里换成常量001(标识不带后缀的图片名),程序就完全正确,看来是这句出问题了,网上查了一晚上都说单双引号惹得祸,我也照猫画虎怎么改都不成
改法一,最外层换成单引号,不行
onmouseover='image1.src='../prodpict/<%# DataBinder.Eval(Container.DataItem,"pict_name") %>.jpg';MM_showHideLayers('balloon','','show');'
改法二:<%# DataBinder.Eval(Container.DataItem,"pict_name") %>收尾加单引号也不行,
到底要怎么改呀,谢过先!
...全文
87 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2008-02-24
  • 打赏
  • 举报
回复

<a href='<%# "pictbrow.aspx?pict_name= " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() %> 'onmouseover='<%# "image1.src=\"../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg\";MM_showHideLayers(\"balloon\",\"\",\"show\");" %>' >学生班级</a>

看看行不行~ 有问题在帮你改~
zhangjjhua 2008-02-24
  • 打赏
  • 举报
回复
<%#DataBinder.Eval.....> 是在数据绑定控件容器里才可以引用的.
在这里你可以用其它列的字段
only_endure 说的不错 就是这样
一品梅 2008-02-24
  • 打赏
  • 举报
回复
onmouseover="image1.src=this.href"
一品梅 2008-02-24
  • 打赏
  • 举报
回复
一个是服务器控件容器,另外一个是在客户端javascript端,处理的区域不同.
一品梅 2008-02-24
  • 打赏
  • 举报
回复
eg:
<%@ Import Namespace="System.Data" %>

<html>

<script language="C#" runat="server">

void Page_Load(Object Src, EventArgs E) {

DataTable dt = new DataTable();
DataRow dr;

dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));

for (int i = 0; i < 9; i++) {

dr = dt.NewRow();

dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now;
dr[3] = (i % 2 != 0) ? true : false;
dr[4] = 1.23 * (i+1);

dt.Rows.Add(dr);
}

MyRepeater.DataSource=new DataView(dt);
MyRepeater.DataBind();
}

</script>

<body>

<h3><font face="Verdana">DataBinding HtmlAnchor</font></h3>

<p>

<form runat=server>

<asp:Repeater id="MyRepeater" runat="server">

<ItemTemplate>

Link for

<asp:HyperLink id=HyperLink1 Text='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>' NavigateUrl='<%# "detailspage_cs.aspx?id=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem,"StringValue").ToString()) %>' runat="server" />

<p>

</ItemTemplate>

</asp:Repeater>

</form>

</body>
</html>



一品梅 2008-02-24
  • 打赏
  • 举报
回复
onmouseover="image1.src='../prodpict/ [color=#FF0000]<%# DataBinder.Eval(Container.DataItem,"pict_name") %> .jpg';MM_showHideLayers('balloon','','show');"
---------------------------------------------[/color]
<%#DataBinder.Eval.....>是在数据绑定控件容器里才可以引用的.
在这里你可以用其它列的字段
loveness 2008-02-24
  • 打赏
  • 举报
回复
兄弟:分不多,请笑纳
loveness 2008-02-24
  • 打赏
  • 举报
回复
现修改如下,把\"换成""了
图片无法显示。
<ItemTemplate>
<FONT face="宋体"><A href='pictbrow.aspx?pict_name=<%# DataBinder.Eval(Container.DataItem,"pict_name") %>' target=_blank>
<img width='100px' height='70px'style='BORDER-TOP-STYLE:none;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BORDER-BOTTOM-STYLE:none' onmouseover='<%# "image1.src=""../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg"";MM_showHideLayers(""balloon"","""",""show"");" %>' onmouseout="MM_showHideLayers('balloon','','hide')" alt=""
src='<%# "../prodpict/"+ DataBinder.Eval(Container.DataItem,"pict_name").ToString() +".jpg" %>' />
</A></FONT>
</ItemTemplate>
阿非 2008-02-24
  • 打赏
  • 举报
回复


onmouseover='<%# getStr(DataBinder.Eval(Container.DataItem,"学生班级").ToString()) %>'



protected string getStr(string picName)
{
string str = "image1.src='../prodpict/" + picName + ".jpg';MM_showHideLayers('balloon','','show');";
return str;
}
loveness 2008-02-24
  • 打赏
  • 举报
回复
兄弟;还是prodpict附近错误
源错误:



行 371: <ItemTemplate>
行 372: <FONT face="宋体"><A href='pictbrow.aspx?pict_name=<%# DataBinder.Eval(Container.DataItem,"pict_name") %>' target=_blank>
行 373: <img width='100px' height='70px'style='BORDER-TOP-STYLE:none;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BORDER-BOTTOM-STYLE:none' onmouseover='<%# "image1.src=\"../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg\";MM_showHideLayers(\"balloon\",\"\",\"show\");" %>' onmouseout="MM_showHideLayers('balloon','','hide')" alt=""
行 374:src='<%# "../prodpict/"+ DataBinder.Eval(Container.DataItem,"pict_name").ToString() +".jpg" %>' />
行 375:</A></FONT>


源文件: http://localhost/ocie/aspx/produce.aspx 行: 373



显示详细的编译器输出:


C:\windows\system32> "c:\windows\microsoft.net\framework\v1.1.4322\vbc.exe" /t:library /utf8output /R:"c:\windows\assembly\gac\system.web.services\1.0.5000.0__b03f5f7f11d50a3a\system.web.services.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\ocie\34cfcdd3\7ff6a987\assembly\dl2\b1b44bb8\0032c8c6_67aac601\freetextbox.dll" /R:"c:\windows\assembly\gac\system.xml\1.0.5000.0__b77a5c561934e089\system.xml.dll" /R:"c:\windows\assembly\gac\system.drawing\1.0.5000.0__b03f5f7f11d50a3a\system.drawing.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\ocie\34cfcdd3\7ff6a987\assembly\dl2\e7b14159\00da4998_c6afc601\thinksea.webcontrols.htmlrotator.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\ocie\34cfcdd3\7ff6a987\assembly\dl2\55dda1a3\00d88896_ed19c301\interop.jmail.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\ocie\34cfcdd3\7ff6a987\assembly\dl2\10e90bef\0099264c_3244c701\aspnetpager.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\ocie\34cfcdd3\7ff6a987\assembly\dl2\59ac2f7a\0076e66a_ac76c801\ocie.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\ocie\34cfcdd3\7ff6a987\assembly\dl2\1e5390d5\00583ff6_1736c301\interop.cdonts.dll" /R:"c:\windows\assembly\gac\system.enterpriseservices\1.0.5000.0__b03f5f7f11d50a3a\system.enterpriseservices.dll" /R:"c:\windows\assembly\gac\system.data\1.0.5000.0__b77a5c561934e089\system.data.dll" /R:"c:\windows\assembly\gac\system.web.mobile\1.0.5000.0__b03f5f7f11d50a3a\system.web.mobile.dll" /R:"c:\windows\assembly\gac\system.web\1.0.5000.0__b03f5f7f11d50a3a\system.web.dll" /R:"c:\windows\assembly\gac\system\1.0.5000.0__b77a5c561934e089\system.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\ocie\34cfcdd3\7ff6a987\6hqkekpv.dll" /D:DEBUG=1 /debug+ /win32resource:"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\ocie\34cfcdd3\7ff6a987\6hqkekpv.res" "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\ocie\34cfcdd3\7ff6a987\6hqkekpv.0.vb"


Microsoft (R) Visual Basic .NET 编译器版本 7.10.6001.4
用于 Microsoft (R) .NET Framework 版本 1.1.4322.2032
版权所有 (C) Microsoft Corporation 1987-2000。保留所有权利。

http://localhost/ocie/aspx/produce.aspx(373) : error BC30203: 需要标识符。

target.SetDataBoundString(1, System.Convert.ToString("image1.src=\"../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg\";MM_showHideLayers(\"balloon\",\"\",\"show\");"))
~
http://localhost/ocie/aspx/produce.aspx(373) : error BC30451: 名称“prodpict”未声明。

target.SetDataBoundString(1, System.Convert.ToString("image1.src=\"../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg\";MM_showHideLayers(\"balloon\",\"\",\"show\");"))
~~~~~~~~


阿非 2008-02-24
  • 打赏
  • 举报
回复

<img width='100px' height='70px'style='BORDER-TOP-STYLE:none;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BORDER-BOTTOM-STYLE:none' onmouseover='<%# "image1.src=\"../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg\";MM_showHideLayers(\"balloon\",\"\",\"show\");" %>' onmouseout="MM_showHideLayers('balloon','','hide')" alt=""
src='<%# "../prodpict/"+ DataBinder.Eval(Container.DataItem,"pict_name").ToString() +".jpg" %>' />
loveness 2008-02-24
  • 打赏
  • 举报
回复
谢谢楼上的Sandy945 兄弟
由于我不是搞vs.net的,所以对这东西很是外行,只是客户需要这方面的东西才临时抱佛脚的,偶是delphi半路出家的,所以很多地方是半桶水

用了你的覆盖,出现以下错误

http://localhost/ocie/aspx/produce.aspx(372) : error BC30203: 需要标识符。

target.SetDataBoundString(1, System.Convert.ToString("image1.src=\"../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg\";MM_showHideLayers(\"balloon\",\"\",\"show\");"))
~
http://localhost/ocie/aspx/produce.aspx(372) : error BC30451: 名称“prodpict”未声明。

target.SetDataBoundString(1, System.Convert.ToString("image1.src=\"../prodpict/ " + DataBinder.Eval(Container.DataItem,"pict_name").ToString() + " .jpg\";MM_showHideLayers(\"balloon\",\"\",\"show\");"))
~~~~~~~~



主要是 prodpict 这里出问题, 您的意思是在最外层再加一个<%# %>吗?里面是不是用了 转意之类的东东,恐怕只改部分不行,为了说明清除,我把完整的这段代码拷贝出来,方便您的调试
我的源代码如下:
说明:总共有三处用到# DataBinder.Eval(Container.DataItem,"pict_name") %> 第一个和第三个都正确,只是第二个onmouseover后的有问题,

<ItemTemplate>
<FONT face="宋体"><A href='pictbrow.aspx?pict_name=<%# DataBinder.Eval(Container.DataItem,"pict_name") %>' target=_blank>
<IMG width="100" height ="70"
onmouseover="image1.src='../prodpict/<%# DataBinder.Eval(Container.DataItem,"pict_name") %>.jpg';MM_showHideLayers('balloon','','show');"
style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"
onmouseout="MM_showHideLayers('balloon','','hide')" alt=""
src='../prodpict/<%# DataBinder.Eval(Container.DataItem,"pict_name") %>-001.jpg'></A></FONT>
</ItemTemplate>

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧