讓我切入正題。我的情況如下:我有自定義添加字段來過濾RadGrid和過濾完美。問題出現在我想使用RadGrid內的EditForm編輯記錄時。它曾經工作得很好,但之後我在選擇正確的行時遇到了一些問題(我總是選錯了行),所以這就是我所做的修正。「在編輯記錄時,無法取消註冊ID爲'xxx'的UpdatePanel,因爲它未在ScriptManager中註冊......」在RadGrid中
所以,我有過濾器radgrid控件看起來是這樣的:
我所做的是使用會話,這將有助於我們後來確定經過過濾的radgrid控件的DataSource啓動或它是默認一。
protected void btnSearch_Click(object sender, EventArgs e)
{
Session["SearchKontakti"] = "1";
}
之後,我不得不設置PreRender與if循環來檢查前面提到的會話。
protected void gvKontakti_PreRender(object sender, EventArgs e)
{
int idKontakt = Convert.ToInt32(Request.QueryString["idk"]);
if (Session["SearchKontakti"] == "1")
{
var kontakti = from k in db.Kontakt
select k;
int idTipUsera = Convert.ToInt32(rcbTipUsera.SelectedValue);
int idTvrtka = Convert.ToInt32(rcbTvrtka.SelectedValue);
if (rcbTvrtka.SelectedValue != "0")
{
kontakti = kontakti.Where(k => k.idFirma == idTvrtka);
}
if (rcbTipUsera.SelectedValue != "0")
{
kontakti = kontakti.Where(k => k.idOvlasti == idTipUsera);
}
if (chkAktivan.Checked == true)
{
kontakti = kontakti.Where(k => k.Aktivan == true);
}
else
{
kontakti = kontakti.Where(k => k.Aktivan == false);
}
int idAuthKontakt = Convert.ToInt32(Session["authenticatedUI"]);
if (idKontakt > 0 && idAuthKontakt == idKontakt)
{
gvKontakti.DataSource = from k in kontakti
where k.idKontakt == idKontakt
orderby k.Prezime, k.Ime
select new { Tvrtka = k.Firma.Naziv, k.idKontakt, Naziv = k.Ime + " " + k.Prezime, Funkcija = k.Funkcija, k.Ime, k.Prezime, k.Tel1, k.Tel2, k.Mob1, k.Mob2, k.Email1, k.Email2, k.Fax, k.Adresa1, k.Adresa2, k.Adresa3, k.Grad, k.PostanskiBroj, k.Drzava, k.Biljeske, k.Aktivan, k.Username, k.Password };
}
else if (idKontakt > 0 && idAuthKontakt != idKontakt)
{
gvKontakti.DataSource = from k in kontakti
where k.idKontakt == idKontakt
orderby k.Prezime, k.Ime
select new { Tvrtka = k.Firma.Naziv, k.idKontakt, Naziv = k.Ime + " " + k.Prezime, Funkcija = k.Funkcija, k.Ime, k.Prezime, k.Tel1, k.Tel2, k.Mob1, k.Mob2, k.Email1, k.Email2, k.Fax, k.Adresa1, k.Adresa2, k.Adresa3, k.Grad, k.PostanskiBroj, k.Drzava, k.Biljeske, k.Aktivan, k.Username, k.Password };
}
else
{
gvKontakti.DataSource = from k in kontakti
orderby k.Prezime, k.Ime
select new { Tvrtka = k.Firma.Naziv, k.idKontakt, Naziv = k.Ime + " " + k.Prezime, Funkcija = k.Funkcija, k.Ime, k.Prezime, k.Tel1, k.Tel2, k.Mob1, k.Mob2, k.Email1, k.Email2, k.Fax, k.Adresa1, k.Adresa2, k.Adresa3, k.Grad, k.PostanskiBroj, k.Drzava, k.Biljeske, k.Aktivan, k.Username, k.Password };
}
gvKontakti.DataBind();
}
}
因此,這固定了我的主要問題,但給了我另一個問題。我的一些用戶控件包含UpdatePanel,並且對於每個擁有它的用戶控件,每當我試圖從RadGrid中修改編輯按鈕時,我都會收到以下消息:「無法註銷帶有標識'UpdatePanel4'的UpdatePanel,因爲它沒有在ScriptManager中註冊。如果UpdatePanel已從控件樹中刪除,並且稍後再次添加,則不支持。 參數名稱:updatePanel「
我想知道的是如何解決該問題。
問候,
赫爾沃耶
這對我在移動控制面板內的控制時工作。我只是以編程方式將任何UpdatePanels的Unload事件綁定到上面的方法。像魅力一樣工作 - 不必註冊或回收任何東西。 – 2012-09-26 20:41:01
我確實按照你的答案,但它沒有幫助我.. – pcs 2015-10-15 05:21:48
得到它謝謝...... – pcs 2015-10-16 06:55:40