2013-07-26 37 views
1

我不知道我在做什麼錯誤,但沒有值正在我的網格上返回。ASP.NET GridView傳遞參數

我在.aspx.cs文件中的以下內容:

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

在我的.aspx文件,我有以下

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

沒有得到恢復,儘管存在對ID的記錄= 6

+0

如果您在SSMS中查詢,是否從VAPHS_Remediation WHERE ID = 6'選擇RemediationID,RemediationDate,RemediationUser,RemediationAction? – Win

+0

是的,它確實會返回一個值。不知道爲什麼它不在上面的代碼中。 –

回答

2

你想使用DefaultValue而不是添加。

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

您已經有聲明參數;如果使用Add參數,則會添加另一個重複的參數。