<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") %>收尾加单引号也不行,
到底要怎么改呀,谢过先!

解决方案 »

  1.   

    onmouseover="image1.src='../prodpict/ [color=#FF0000]<%#   DataBinder.Eval(Container.DataItem,"pict_name")   %> .jpg';MM_showHideLayers('balloon','','show');"   
    ---------------------------------------------[/color]
    <%#DataBinder.Eval.....>是在数据绑定控件容器里才可以引用的.
    在这里你可以用其它列的字段
      

  2.   

    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>
      

  3.   

    一个是服务器控件容器,另外一个是在客户端javascript端,处理的区域不同.
      

  4.   

        <%#DataBinder.Eval.....> 是在数据绑定控件容器里才可以引用的. 
    在这里你可以用其它列的字段   
         only_endure 说的不错 就是这样
      

  5.   


    <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>看看行不行~  有问题在帮你改~
      

  6.   

    谢谢楼上的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>              
      

  7.   


    <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"  %>' />
      

  8.   

    兄弟;还是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\");"))
                                                                                      ~~~~~~~~                                                                                                                              
      

  9.   

    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;
        }
      

  10.   

    现修改如下,把\"换成""了
    图片无法显示。
    <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>