Кнопка ASP с параметром Gridview

89
10

У меня есть страница 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()

спросил(а) 2021-01-19T14:26:11+03:00 5 месяцев назад
1
Решение
89

Если вы не хотите использовать ORM, но sqlCom и можете:

            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();
}
}

В.Б:

                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

ответил(а) 2021-01-19T14:26:11+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема