我想实现根据图片名称显示不同的图片,用<img src="../images/<%= Request.QueryString["phoneName"] %>.jpg" id="imgPhone" ></img>可以实现,但如果把img标签换成服务器控件就不支持内嵌代码,能给我解释一下原因吗?顺便散分! 

解决方案 »

  1.   

    改成:<img src='../images/<%= Request.QueryString["phoneName"] %>.jpg' id="imgPhone" >
      

  2.   

    <img src='../images/ <%= Request.QueryString["phoneName"] %>.jpg'id="imgPhone" > </img>
    服务器控件使用属性ImageUrl="";
    不识别为属性
      

  3.   

    可是这样
    <asp:Image id="imgPhone" runat="server" ImageUrl="~/images/Users/<%= Request.QueryString["userId"] %>.jpg"></asp:Image> 
    都不能通过编译啊!
    显示错误,服务器标记不能包括<%...%>
      

  4.   

    <%=>这个的实质 <%%>扩展而来的.等价于:Response.Write(<%%>)这种形式,
    它其实也可以看成是一种绑定 所以 遇到服务器空间就砸cs里用服务器空间自带属性可以了,没必要用这个
    <%=%>用法强调一句:尽量对客户端控件用这种形式,毕竟它是asp常用语法,不会出现问题。
    但是对于asp.net的服务器控件就可能不能完全适合的
      

  5.   

    你在CS文件里写嘛。。PAGE_LOAD()
      

  6.   

    这样:    前台:<asp:Image id="imgPhone" runat="server" ImageUrl="<%GetUrl(); %>"> </asp:Image>
              后台:GetUrl()方法//返回图片路径
    也不行!只有这样:前台:<asp:Image id="imgPhone" runat="server" ImageUrl=""> </asp:Image>
              后台:imgPhone.ImageUrl=GetUrl();
    可以!确实如你所说,没必要一定要在前台绑定,但我想知道,难道在前台不能直接绑定在服务器控件中吗?有谁知道原因吗?
      

  7.   

    我的理解是html在asp里说到底是一些string的处理方式,因此这样的形式没有问题;
    在asp.net里,服务器控件的属性就是一些类的属性,类的属性如果要调用一些方法需要使用委托之类的方式,因此无法处理这些内容。
    不过是自己的推理,没有理论依据
      

  8.   

    记得好像是ImageUrl='<%#Eval()%>',才可以,是单引号,你试试看。