-1

私は現在、私の最初のウェブサイトに取り組んでいます。私が遭遇した問題は次のとおりです。「CustomerList」というタイトルのページを作成しました。これは明らかに SQL Server DB から顧客をリストしています。GridView に含まれている選択ボタンを使用せずに、レコードをクリックできるようにしました。レコードをクリックすると、目的のページに移動します。ただし、そのクリック イベントから目的のページに SQL クエリを書き込む方法が見つからないようです。以下は、クリック イベントの私のコードです。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewRow row = GridView1.SelectedRow;

    if (row.RowIndex == 0)
    {
        Response.Redirect("UsageHistoryPage.aspx? EntityID=" 
            + row.Cells[0].Text);
    }            
}

ご覧のとおり、インデックスをクリックすると、「UsageHistoryPage」に移動します。row.cells.[0] も追加しました。そのデータを取得し、UsageHistoryPage に書き込みます。私の場合は、ページの上部にある顧客の名前になります。誰かがこれで私を助けてくれますか? 誰かが良いチュートリアルのリンクを持っていますか? ありがとう。

4

2 に答える 2

1

@Rick行が選択されているかどうかを確認する方法を確認したい場合があります。たとえば、forループは必要ありませんが、私の場合、RowIndexが= 1または> 0ではなく== 0であるかどうかを確認する必要があります

private void myButton_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in usersGrid.Rows)
    {
        if (this.usersGrid.SelectedRows.Count == 1)
        {
         // get information of 1st column from the row
         string selectedUser = this.usersGrid.SelectedRows[0].Cells[0].ToString();
        }
    }
}

行が選択されていることを確認するには、次のようなことを行う必要があります

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
   DataGridViewRow row = GridView1.SelectedRow;

    if (this.row.SelectedRows.Count == 1)
    {
        Response.Redirect("UsageHistoryPage.aspx?EntityID=" + row.SelectedRows[0].Cells[0].ToString());
    }
}

顧客の名前を表示したい場合は、UsageHistorPage.aspx のページ読み込みでこのコードを追加します。

String strCustName = Request.QueryString["EntityID1"];
this.Page.Title = strCustName; 

そのようなことを試してみてください.. アイデアのいずれかがあなたのために働いているかどうか、ここの誰かに知らせてください.

于 2012-09-17T20:32:02.797 に答える
1

このコードで試すことができます - このコードをUsageHistoryPage

var input =  Response.QueryString["EntityId"];
var connectionString = "...";

var queryString = "SELECT Name FROM TABLE WHERE COLUMN=@EntityId";
using (SqlConnection connection = new SqlConnection(
               connectionString))
{
    connection.Open();    
    using(var command = new SqlCommand(queryString, connection))
    {
        Command.Parameters.AddWithValue("@EntityId",input) 
        SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
        while (reader.Read())
        {
            Response.Write(String.Format("For Rick Your Name is here{0}", reader[0]));
        }
    }
}
于 2012-09-17T20:20:52.733 に答える