頁面打開到加載用於編輯/刪除數據的網格。LoadGrid()
在!IsPostBack
中。GridView查詢不顯示
private void LoadGrid()
{
try
{
using (var db = new dbDataContext())
{
var loadGrid = from t in db.tbl_Providers
where t.provider_Deleted == false
orderby t.provider_Name.ToLower()
select new
{
t.ProviderId,
t.provider_Name,
};
grd_Provider.DataSource = loadGrid;
grd_Provider.DataBind();
}
// Set value of Edit/Delete columns on grid
// ========================================
grd_Provider.HeaderRow.Cells[0].Text = "Edit/Update";
grd_Provider.HeaderRow.Cells[1].Text = "Delete";
}
catch (SystemException ex)
所有這些代碼工作正常。 我想要做的是顯示字母表,用戶點擊鏈接,它重新加載一個新的查詢並加載網格。
據我所知,字母表工作正常。我在Page_Load
上加載了代碼,而Void方法在頁面的下方。
for (char asciiValue = 'A'; asciiValue <= 'Z'; asciiValue++)
{
LinkButton lnkCharacter = new LinkButton();
lnkCharacter.ID = "lnkCharacter" + asciiValue;
lbl_Alphabet.Controls.Add(lnkCharacter);
lnkCharacter.CommandArgument = Convert.ToString(asciiValue);
lnkCharacter.Command += lnkCharacter_Command;
lnkCharacter.Text = Convert.ToString(asciiValue) + " ";
}
void lnkCharacter_Command(object sender, CommandEventArgs e)
{
try
{
var lbtn = (LinkButton) lbl_Alphabet.FindControl("lnkCharacter" + e.CommandArgument);
var id = lbtn.Text;
using (var db = new dbDataContext())
{
var query = from n in db.tbl_Providers
where n.provider_Name.StartsWith(id) && n.provider_Deleted == false
select new
{
id = n.ProviderId,
name = n.provider_Name
};
grd_Provider.DataSource = query;
grd_Provider.DataBind();
}
}
catch (SystemException ex)
{
var exceptionUtility = new genericExceptions();
exceptionUtility.genericSystemException(
ex,
Server.MachineName,
Page.TemplateSourceDirectory.Remove(0, 1) + Page.AppRelativeVirtualPath.Remove(0, 1),
ConfigurationManager.AppSettings["emailSupport"],
ConfigurationManager.AppSettings["emailFrom"],
string.Empty);
}
}
我測試了LINQPad中的查詢,它的工作原理和返回結果。 當我在頁面上運行它,並通過步驟Datasource = query
說expanding the results will enumerate the query
。 我這樣做.. Enumeration yielded no results
頁面重新加載和網格從不顯示? 這是否與原來的網格加載頁面加載和一些如何衝突?
我改變了我的字母去在IsPostBack
和頁面重新加載和字母消失和網格仍然在那裏加載正常。我需要一個不同的GridView的字母查詢?
你在什麼時候設置你的數據,以便在哪個PageEvent中? – 2013-03-05 10:20:08
Id的價值是什麼?它不應該是'var id = lbtn.Text'? – codingbiz 2013-03-05 10:20:53
是的,它已經排序該問題,因爲它被設置爲一個LinkButton。現在它被設置爲我提供的信件。我逐步完成並添加了.ToList()和'count = 0'仍然? – StudentRik 2013-03-05 10:25:11