服务器标签没有很好地形成asp.net C#

时间:2016-02-01 10:32:16

标签: c# asp.net webforms

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

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

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

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

DataBound 控件中使用

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

<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的值来源。