0
我已經通過哦這麼多的教程,我只是無法得到這個權利。我試圖根據存儲過程的結果填充gridview。我現在可能是盲目的代碼,但我確實試圖確保我沒有陷入小事。ASP.NET的GridView + DataSource + SQLDataReader的愚蠢問題
這是存儲過程:
ALTER PROCEDURE dbo.GetAllPlayersFromGame
(
@gameID int
)AS
/* SELECT all the players within a game */
SELECT playerName FROM Player WHERE gameID = @gameID
這是我使用創建一個數據表,然後我作爲數據源爲GridView使用的代碼:
public static DataTable PopulateGridView(string resultSetQuery)
{
//Populate gridview
OpenConnection();
SqlCommand sqlCommand = new SqlCommand(resultSetQuery, _sqlConnection);
SqlDataReader reader = sqlCommand.ExecuteReader();
DataTable dataTable = new DataTable();
dataTable.Load(reader);
return dataTable;
}
這是該方法該調用一切,並應該填充gridview:
protected void ShowPlayersInGame()
{
GridViewShowPlayersInGame.DataSource = CreateDatabaseConnection.PopulateGridView("EXEC GetAllPlayersFromGame " + _gameId);
GridViewShowPlayersInGame.DataBind();
}
當我調試我se e讀取器對象中的所有數據,以便存儲過程起作用。但是當它到達ShowPlayersInGame時會發生什麼,因爲gridview不會接收數據。我可能錯過了一些基本的東西,因爲我之前沒有使用過GridView。
任何想法?
GridView是否在您自己的CreateChildControls方法的自定義控件中? – Patrick 2010-02-25 10:36:22
Ehm ..如果這是當我從一個母版頁生成一個頁面,然後也許會發生的事情。我不知道這意味着什麼,所以我不確定。我怎樣才能澄清這一點? – Phil 2010-02-25 13:35:52
這個問題的答案是否定的。網格視圖位於從母版頁派生的內容頁中的contentplaceholder中。它也在一個updatepanel(Ajax)中。沒有自定義控件。 – Phil 2010-02-25 14:20:11