我已經使用下面的代碼來加載和SelectedIndexChanged我的下拉列表。 當我更改下拉列表的值時,需要很長時間直到它在我的頁面的標籤中顯示值。SelectedIndexChanged需要很多時間
Label1.Text = "Review Number:" + newReview + "(for preparing of Rev." + newRev;
protected void ddlProjectDocument_SelectedIndexChanged(object sender, EventArgs e)
{
_DataContext = new EDMSDataContext();
int newRev;
int newReview;
var x = ddlProjectDocument.SelectedValue;
var MaxRev = (from rev in _DataContext.tblTransmittalls
where rev.DocID.ToString() == ddlProjectDocument.SelectedValue
select rev.REV).Max();
if (MaxRev == null)
{
newRev = 0;
}
else
{
newRev = Convert.ToInt32(MaxRev) + 1;
}
var MaxReview = (from rev in _DataContext.tblFiles
where (rev.DocId.ToString() == ddlProjectDocument.SelectedValue) &&
(rev.Rev.ToString() == MaxRev)
select rev.Review).Max();
if (MaxReview == null)
{
newReview = 1;
}
else
{
newReview = Convert.ToInt32(MaxReview) + 1;
}
Label1.Text = "Review Number:" + newReview + "(for preparing of Rev." + newRev;
}
protected void ddlProjectDocument_Load(object sender, EventArgs e)
{
var query = from p in _DataContext.tblDocuments
orderby p.DocumentNo
select p;
int maxs = 0;
foreach (tblDocument v in query)
{
if (v.DocumentNo.Length > maxs)
maxs = v.DocumentNo.Length;
}
foreach (tblDocument vv in query)
{
string doctitle = vv.DocumentNo;
for (int i = vv.DocumentNo.Length; i < maxs ; i++)
{
doctitle += " ";
}
doctitle += " | ";
doctitle += vv.TITLE;
// Use HtmlDecode to correctly show the spaces
doctitle = HttpUtility.HtmlDecode(doctitle);
ddlProjectDocument.Items.Add(new ListItem(doctitle, vv.DocId.ToString()));
}
}
讓我問你:該頁面是否有很多視圖狀態的重量級內容。如果不是這樣的話,DOCID會在數據庫中對它進行索引嗎? – adt 2013-02-19 18:34:46
這可能是因爲'rev.DocID.ToString()'。據我所知,你是拉下整個表,因爲每個記錄必須轉換爲一個字符串。我建議將'ddlProjectDocument.SelectedValue'轉換爲'int',以便可以在數據庫中完成比較。 – 2013-02-19 18:35:25