<table border="1" cellspacing="1" cellpadding="1">
<tr>
<td>
<asp:DataGrid id="dgrdMain" cellpadding="1" showheader="true" autogeneratecolumns="false" borderwidth="0" runat="server">
<columns>
<asp:TemplateColumn>
<itemTemplate>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td><asp:HyperLink id="hyperlink1" runat="server" NavigateUrl="show.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>">查看</asp:HyperLink>//我在这里把id=<%# DataBinder.Eval(Container.DataItem,"id")%>就报错,如果去掉就正常
</td>
<td><%# DataBinder.Eval(Container.DataItem,"oicq")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"title")%></td>
</tr>
</table>
</itemTemplate>
</asp:TemplateColumn>
</columns>
</asp:datagrid>
</td>
</tr>
</table>
<tr>
<td>
<asp:DataGrid id="dgrdMain" cellpadding="1" showheader="true" autogeneratecolumns="false" borderwidth="0" runat="server">
<columns>
<asp:TemplateColumn>
<itemTemplate>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td><asp:HyperLink id="hyperlink1" runat="server" NavigateUrl="show.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>">查看</asp:HyperLink>//我在这里把id=<%# DataBinder.Eval(Container.DataItem,"id")%>就报错,如果去掉就正常
</td>
<td><%# DataBinder.Eval(Container.DataItem,"oicq")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"title")%></td>
</tr>
</table>
</itemTemplate>
</asp:TemplateColumn>
</columns>
</asp:datagrid>
</td>
</tr>
</table>
外层的双引号用单引号看看
NavigateUrl='show.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>'
<asp:HyperLink id="hyperlink1" runat="server" NavigateUrl='show.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>'>查看</asp:HyperLink>
<asp:HyperLink id="hyperlink1" runat="server" NavigateUrl='<%#"show.aspx?id="+DataBinder.Eval(Container.DataItem,"id")%>'>查看</asp:HyperLink>
这样就可以了。