简体   繁体   中英

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

I'm doing the following query, and trying to use a code that come from a previous query. But is giving me the following error: The server tag is not well formed.

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

I'm using C# in Web forms asp.net

Can somebody help me on this?

Eval is used in DataBound controls to evaluate a field value in a row from the data source. You are trying to use it inside a Data Source control itself (SQLDataSource in this case). You should use parameterized query by specifying the value of parameter inside SelectParameters tag like this:-

<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>

Please note, here I have shown the example of a control present inside your WebForm. You can specify where the value of DeptId is coming from via Cookie, QueryString, Form, Session etc.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM