日期:2014-05-20  浏览次数:20482 次

传值的一点问题
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")%> 
正解