服务器标记格式不正确 asp.net C#

The server tag is not well formed asp.net C#

我正在执行以下查询,并尝试使用来自先前查询的代码。 但是给我以下错误:服务器标记格式不正确。

<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:TesteConnectionString %>" SelectCommand="SELECT * FROM [Equipa] where idAssemb=1 and idDept=<%# Eval("idDept") %>"></asp:SqlDataSource>

我在 Web 表单中使用 C# asp.net

有人可以帮我解决这个问题吗?

EvalDataBound 控件中用于计算数据源中一行中的字段值。您正在尝试在数据源控件本身(在本例中为 SQLDataSource)中使用它。您应该通过在 SelectParameters 标记内指定参数值来使用 parameterized query,如下所示:-

<asp:SqlDataSource ID="SqlDataSource3" runat="server" 
  ConnectionString="<%$ ConnectionStrings:TesteConnectionString %>" 
  SelectCommand="SELECT * FROM [Equipa] where idAssemb=1 AND idDept=@DeptId>
   <SelectParameters>
       <asp:ControlParameter ControlID="lblDeptId" Name="DeptId" 
            PropertyName="Text" Type="Int32" />
  </SelectParameters>
</asp:SqlDataSource>

请注意,这里我展示了 WebForm 中存在的控件示例。您可以通过 Cookie、QueryString、Form、Session 等指定 DeptId 的值来自何处