I’m passing a value thru a querystring, I want that value to be part of my selectcommand to build my GridView. But I’m getting the following error. Any ideas how to fix?
Error: Conversion failed when converting the nvarchar value ‘<%=QueryString2%>’ to data type int.
C#:
protected void Page_Load(object sender, EventArgs e)
{
QueryString=Convert.ToInt32(Request.QueryString["tourid"]);
}
private int _querystring;
public int QueryString
{
get
{
return _querystring;
}
set
{
_querystring = value;
}
}
ASPX:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ChinatowndbConnString %>"
SelectCommand="SELECT * FROM [vwSchedule] Where TourId=@tid">
<SelectParameters>
<asp:Parameter DefaultValue="<%=QueryString%>" Name="tid" />
</SelectParameters>
</asp:SqlDataSource>
You can’t use
<%= ... %>to assign the value of a server-control property. As a result, yourDefaultValueis being set to the literal string"<%=QueryString%>", which is not a valid integer.Try using a
QueryStringParameterinstead: