2011-03-28 110 views
0

我有一個ASP.Net頁面有幾個UpdatePanels。每個UpdatePanel加載一個UserControl,並且每個UserControl,子UserControl(s)可能存在。爲了實現部分刷新,每個子UserControl將通過UpdatePanel進行。這些用戶控件具有輸入控件和相應的驗證器服務器控件。嵌套UpdatePanel驗證

問題是,子UserControl中的驗證器也會在其父級UserControl中觸發驗證;不過,我想單獨驗證到基於UpdatePanel的範圍中。 請幫助。

我正在使用Visual Studio 2008和.Net 3.5。

謝謝。 William

- EDITED --- E.g.

enter image description here

我有所謂的「AddableDropDown」的用戶控件是一個下拉列表,提供在飛行中增加新的列表項的能力。它包含一個下拉列表來說明當前可用的項目;用於輸入新項目標題的asp:文本框,用於提交新項目的asp:按鈕,以及asp:文本框中的「RequiredFieldValidator」目標。

「AddableDropDown」將用於不同的基於UserControl的「web表單」,該表單具有其他類型的輸入和驗證器。

我試圖達到的目標是將AddableDropDown的驗證從它的每個實例以及它的每個父控件中分離出來。

+0

您是否由具有驗證組爲對照 – Dotnet 2011-03-28 04:47:05

+0

我問你寫 – Dotnet 2011-03-28 07:49:39

+0

喜Drobabu源嘗試了它嘗試了它,我需要一些時間來解決問題。 – 2011-03-28 07:52:11

回答

1

你有沒有通過在每個用於控制一個validationgroup和每塊面板

+0

是的,通過嘗試ValidationGroup,我現在面臨兩個問題:1)sub-usercontrol的所有實例將具有相同的ValidationGroup,這會導致對其他非重點實例進行驗證。 2)重點子用戶控件的回饋操作永遠不會被觸發。 – 2011-03-28 07:26:56

+0

你可以發佈你寫的東西嗎 – Dotnet 2011-03-28 07:34:55

+0

爲了區分驗證範圍,可重用UserControl中的ValidationGroup應該能夠唯一標識: 因此,在AddableDropDown.ascx中,我動態生成驗證組: 受保護void Page_Load(object sender,EventArgs e){ \t // ...其他代碼... \t in_newtag.ValidationGroup = in_newtag.ValidationGroup + this.ID; \t btn_newtag.ValidationGroup = btn_newtag.ValidationGroup + this.ID; \t // ...其他代碼... } – 2011-03-28 08:01:52