【问题标题】:ASP.NET GridView passing parameterASP.NET GridView 传递参数
【发布时间】:2013-07-26 18:27:51
【问题描述】:

我不确定我做错了什么,但我的网格上没有返回任何值。

我的 .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 的记录,但没有返回任何内容

【问题讨论】:

  • 如果您在 SSMS 中查询,select RemediationID, RemediationDate, RemediationUser, RemediationAction from VAPHS_Remediation WHERE ID=6 是否会返回任何内容?
  • 是的,它确实返回了一个值。只是不确定为什么它不在上面的编码中。

标签: asp.net gridview


【解决方案1】:

您想使用DefaultValue 而不是添加。

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

你已经有声明性参数了;如果您使用Add 参数,它将添加另一个重复的参数。

【讨论】:

    猜你喜欢
    • 2013-03-10
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多