Nate Pet
Nate Pet

Reputation: 46222

ASP.NET GridView passing parameter

I am not sure what I am doing wrong but no value is being returned on my grid.

I have the following in my .aspx.cs file:

  protected void Page_Load(object sender, EventArgs e)
  {
        SqlDS1.SelectParameters.Add("@ID", "6");    
  }

I have the following in my .aspx file

     <asp:SqlDataSource ID="SqlDS1" runat="server" ConnectionString="<%$ ConnectionStrings:LisSQL %>"                
    SelectCommand="select RemediationID, RemediationDate, RemediationUser, RemediationAction from VAPHS_Remediation WHERE ID = @ID">
     <SelectParameters>
       <asp:Parameter Name="ID" Type="Int32" />
     </SelectParameters>
    </asp:SqlDataSource>


<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDS1" Width="1200px" AutoGenerateColumns="False"  AllowSorting="True">
       <Columns>
        <asp:BoundField DataField="RemediationID"  HeaderText="RemediationID"/>
        <asp:BoundField DataField="RemediationDate"  HeaderText="RemediationDate"/>
        <asp:BoundField DataField="RemediationUser"  HeaderText="RemediationUser"/>
        <asp:BoundField DataField="RemediationAction"  HeaderText="RemediationAction"/>             
    </Columns>
</asp:GridView>

Nothing gets returned although there is a record for ID = 6

Upvotes: 1

Views: 4482

Answers (1)

Win
Win

Reputation: 62260

You want to use DefaultValue instead of add.

protected void Page_Load(object sender, EventArgs e)
{
  SqlDS1.SelectParameters["ID"].DefaultValue = "6";
}

You already have declarative parameter already; if you use Add parameter, it'll add another duplicate one.

Upvotes: 2

Related Questions