Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 带有Gridview参数的ASP按钮_Asp.net_Vb.net_Gridview_Parameters - Fatal编程技术网

Asp.net 带有Gridview参数的ASP按钮

Asp.net 带有Gridview参数的ASP按钮,asp.net,vb.net,gridview,parameters,Asp.net,Vb.net,Gridview,Parameters,我有一个页面status.aspx,其中包含几个按钮,如30天、60天和90天。我希望根据单击的按钮将参数传递给现有的gridview。我在gridview后面的代码如下: Dim cmd As SqlCommand = New SqlCommand("up_AcctStatus", conn) cmd.CommandType = CommandType.StoredProcedure Dim paramNumOfDays As New SqlParameter("@N

我有一个页面status.aspx,其中包含几个按钮,如30天、60天和90天。我希望根据单击的按钮将参数传递给现有的gridview。我在gridview后面的代码如下:

    Dim cmd As SqlCommand = New SqlCommand("up_AcctStatus", conn)
    cmd.CommandType = CommandType.StoredProcedure

    Dim paramNumOfDays As New SqlParameter("@NumOfDays", SqlDbType.Int)
    paramNumOfDays.Value = "??? 30, 60 or 90 ???"
    cmd.Parameters.Add(paramNumOfDays)
GridView1.DataSource=cmd.ExecuteReader()
GridView1.DataBind()

如果您不想使用除SQLCom以外的任何ORM,您可以:

            protected void Button1_Click(object sender, EventArgs e)
            {
                Fill(60);
            }
            protected void Button2_Click(object sender, EventArgs e)
            {
                Fill(30);
            }

            private void Fill(int numberOfDays)
            {
                using (SqlConnection connection = new SqlConnection("connectionString"))
                {
                    connection.Open();

                    SqlDataAdapter sda = new SqlDataAdapter();
                    sda.SelectCommand = new SqlCommand("stored procedure name", connection);
                    sda.SelectCommand.CommandType = CommandType.StoredProcedure;
                    sda.SelectCommand.Parameters.AddWithValue("@NumOfDays", numberOfDays);

                    DataSet ds = new DataSet();
                    sda.Fill(ds, "result_table");

                    GridView1.DataSource = ds.Tables["result_table"];
                    GridView1.DataBind();
                }
            }
vb:


问题是什么?我如何将参数从status.aspx按钮传递到gridview参数?答案是C#code welcome吗?VB会很好。谢谢。如果gridview1与按钮页面status.aspx位于同一页面,但gridview1位于另一个名为view.aspx的页面上,则VB代码可以工作。我需要把60或30的数字传给那一页。感谢您的帮助。也许我可以使用参数进行响应。重定向(“view.aspx”),或者您可以将参数(int=30或60)存储到会话中。在页面加载时,使用网格“从会话中获取”并执行Fill(ParameterFromSession)Perfect。好的:)你知道的。呵呵,我很高兴在stackoverflow上得到我的第一个分数:)现在我不再只是一个“吸血鬼”;)
                Protected Sub Button1_Click(sender As Object, e As EventArgs)
                Fill(60)
                End Sub

                Protected Sub Button2_Click(sender As Object, e As EventArgs)
                    Fill(30)
                End Sub

                Private Sub Fill(numberOfDays As Integer)
                    Using connection As New SqlConnection("connectionString")
                        connection.Open()

                        Dim sda As New SqlDataAdapter()
                        sda.SelectCommand = New SqlCommand("stored procedure name", connection)
                        sda.SelectCommand.CommandType = CommandType.StoredProcedure
                        sda.SelectCommand.Parameters.AddWithValue("@NumOfDays", numberOfDays)

                        Dim ds As New DataSet()
                        sda.Fill(ds, "result_table")

                        GridView1.DataSource = ds.Tables("result_table")
                         GridView1.DataBind()
                    End Using
                End Sub