当前位置: 代码迷 >> ASP.NET >> 传值的一点有关问题
  详细解决方案

传值的一点有关问题

热度:6259   发布时间:2013-02-26 00:00:00.0
传值的一点问题
HTML code
 <asp:TemplateField HeaderText="页面名称">                        <ItemTemplate>                            <a href='TemplateDetailsAdd.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"TemplateDetailsID")%>&id2=<%DataBinder.Eval(Container.DataItem,"TemplateDetailsID")%> ' >                                <%# Eval("TemplateDetailsName").ToString() %>                            </a>                        </ItemTemplate>                        <ItemStyle CssClass="left2" />          </asp:TemplateField>


我这样写为什么会报错啊 报错说: ”应输入 ;“

而只穿一个值的时候就可以

  <asp:TemplateField HeaderText="页面名称">
  <ItemTemplate>
  <a href='TemplateDetailsAdd.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"TemplateDetailsID")%>' >
  <%# Eval("TemplateDetailsName").ToString() %>
  </a>
  </ItemTemplate>
  <ItemStyle CssClass="left2" />
  </asp:TemplateField>

这样的就可以不报错 为什么啊 而且把第一个写法中发热id2=<。。。>改成id2=2 直接改成数字又可以 这是咋回事

------解决方案--------------------------------------------------------
把<%DataBinder.Eval(Container.DataItem,"TemplateDetailsID")%>改成<%=DataBinder.Eval(Container.DataItem,"TemplateDetailsID")%>
试试
------解决方案--------------------------------------------------------
楼上正解。
------解决方案--------------------------------------------------------
&id2=<%# DataBinder.Eval(Container.DataItem,"TemplateDetailsID")%>
------解决方案--------------------------------------------------------
&id2=<%# DataBinder.Eval(Container.DataItem,"TemplateDetailsID")%> 
正解
  相关解决方案