後面的代碼中我正在嘗試從後面的代碼中找到InsertItemTemplate中的插入按鈕。基本上,我試圖讓這個按鈕的可見性錯誤,如果計數達到10或更多。我不斷收到空引用異常錯誤,所以我認爲它沒有找到按鈕。我已經粘貼代碼後面的代碼如下文件:試圖從ItemDataBound中的InsertItemTemplate中找到一個按鈕,位於
protected void externalLinksList_ItemDataBound(object sender, ListViewItemEventArgs e)
{
String connectionString = WebConfigurationManager.ConnectionStrings["UniString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(connectionString);
myConnection.Open();
String linkCountQuery = "SELECT COUNT(id) FROM links";
SqlCommand linkCountQueryCommand = new SqlCommand(linkCountQuery, myConnection);
Int32 linkCountQueryCommandValue = (Int32)linkCountQueryCommand.ExecuteScalar();
if (linkCountQueryCommandValue >= 10)
{
Button InsertButton = (Button)e.Item.FindControl("InsertButton") as Button;
InsertButton.Visible = false;
Label linkLimit = (Label)e.Item.FindControl("linkLimit") as Label;
linkLimit.Visible = true;
linkLimit.Text = "Up to 10 external links are permitted. Please delete links before adding any more.";
}
else
{
Button InsertButton = (Button)e.Item.FindControl("InsertButton");
}
}
你有沒有嘗試在代碼中加入一些保護('if(InsertButton!= null){...}')?當您填充數據綁定控件時,所有項目都會觸發「ItemDataBound」事件,包括未處於插入模式的項目。對於這些項目,InsertButton將不會被找到。 (注意:如果你使用'...作爲按鈕',你不需要使用'(Button)...') – ConnorsFan
@ConnorsFan在添加代碼後沒有更多的錯誤,但按鈕仍然可見並且它已經超過了我設置的限制 – Spiros
你知道'linkCountQueryCommandValue'是否正確嗎?是否執行了「if」塊中的代碼或只有「else」塊? – ConnorsFan