2016-01-15 19 views
2

我有一個Repeater,其中包含幾個ImageButton元素。我第一次添加圖片列表到中繼器的數據源,它工作完全正常:直放站錯誤,當使用兩次

Repeater.DataSource = images; 
Repeater.DataBind(); 

我有一個框TextChanged - 事件的地方和事件裏面,我要覆蓋一個新的列表中的數據源的圖像。

當我這樣做,我收到一個CallBack錯誤。評論第一個DataBind使第二個完美工作。我該如何解決這個問題?

編輯:我接收的錯誤消息是在德國(這裏:http://i.imgur.com/M9wxexm.jpg),但大致翻譯,這意味着:無效回發或回調參數。事件驗證使用<啓用.pages enableEventValidation =「true」/。> ...

+1

您可以張貼實際的錯誤呢? – techspider

+0

@techspider對不起,我編輯它包含錯誤。 – Kohnarik

回答

1

由於您收到的callback錯誤,您應該嘗試禁用您的aspx頁面的事件驗證。這需要在頁面指令中完成,該指令將位於aspx頁面的頂部。

<%@ Page EnableEventValidation="false"%> 

還要記住以下事實。

  1. 對於第一個數據綁定,我假設它在Page_Load事件中。如果是這種情況,那麼請確保它僅在頁面未回傳時執行,因爲在回發頁面上,您將文本更改爲邏輯以填充中繼器。

    protected void Page_Load(object sender, EventArgs e) 
    { 
        if(!Page.IsPostBack) 
        { 
        Repeater.DataSource = images; 
        Repeater.DataBind(); 
        } 
    } 
    
  2. 然後在你的文字改變事件的數據綁定在同一轉發器,並確保您調用方法DataBind設置它的數據源後。因此,在文本更改的事件處理程序中包含以下兩行。當然,images變量需要由文本更改事件中的相應變量替換。

    Repeater.DataSource = images; 
        Repeater.DataBind(); 
    
+0

第一個Databind確實在Page_Load事件中,但我確信它在!IsPostBack中。數據綁定在數據源更改後執行。 – Kohnarik

+0

我們所看到的確切錯誤信息是什麼? – Sunil

+0

對不起,花了這麼長時間。錯誤信息是德文(http://i.imgur.com/M9wxexm.jpg),但大致翻譯,它說:無效的回發或回調參數。使用''啓用事件驗證... – Kohnarik