2013-03-08 46 views
0

我有一個用戶控件說 - GiveIdentity.ascx(它有2個文本框字段SSN和DOB)一個直放站內用戶控件內部控制有效性檢查在頁面上

我有另一個用戶控件說 - GiveIdentityList.ascx(基本上是這樣的是一箇中繼器渲染說3 GiveIdentity UserControl的實例)

現在我有這個GiveIdentityList UserControl說Default.aspx頁面。

我想ipliment的'IsValid'屬性或方法..在GiveIdentity.ascx控制本身...因此,它會反彈該特定控件上的所有文本框字段是否有效...(請記住我不希望用戶Page.Validators()或Default.aspx頁面上的某些內容) - 我想要在另一個UserControls(它是一箇中繼器)內部的UserControls公開IsValid屬性 - 表明其內部的所有文本和日期控件都是有效與否....

我感謝你的幫助...謝謝

+0

抱歉忘了提及 - GiveIdentity.ascx UserControl上的2個TextBox字段上有一個'必填字段驗證程序' – saklo 2013-03-08 21:33:48

+0

您在哪裏遇到困難?你只需要知道如何創建一個公共方法?或如何創建活動? – jason 2013-03-11 11:08:24

+0

我想知道如何檢查兩個TextBox字段(具有isrequired validator)是否有效...在UserControl(GiveIdentity.ascx)本身內... – saklo 2013-03-11 13:52:24

回答

0

您可以在用戶控件使用該控件的任何頁面公開公共方法。如果狀態改變,你還應該添加一個事件來提醒父頁面。添加這些方法很容易:

Partial Class user_controls_myControl 
    Inherits System.Web.UI.UserControl 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    End sub 

    Public Function isValid() as boolean 

     if(me.checkbox1.text<>"" andalso me.checkbox2.text<>"") then 
      return true 
     else 
      return false 
     end if 
    End sub 
end Class 

現在,在包含所有這些控制你的ASPX頁面,您可以檢查特定的功能,以確保它們是有效的。例如,如果您有一個名爲giveIdentity1的用戶控件,您需要遍歷中繼器並將對象轉換爲您的用戶控件類型。然後,您可以檢查的isValid函數是這樣的:

dim getBool as boolean 
getBool = me.giveIdentity1.isValid 

如果您需要幫助遍歷轉發,讓我知道

您也可以創建自己的服務器事件註冊的變化。您可以閱讀我發佈到類似主題的帖子,我在這裏回覆:Handling events of usercontrols within listview

如果這不能回答您的問題,請告訴我。

+0

我已經做了同樣的implimentation ...但是在哪裏我卡住了......你提到的部分....'在這裏檢查文本框......我如何獲得每個'TextBox'驗證器只屬於'GiveIdentity.ascx'控件...如果我用戶的foreach(在Page.Validators中的IValidator v1)....它獲得頁面中所有控件的所有驗證器......任何建議? – saklo 2013-03-12 01:45:23

+0

據我所知,函數的範圍isValid應該只查看屬於其單獨控件的文本框。然後,包含所有這些控件的aspx頁面將查看該函數以確保將其設置爲「True」。我會擴展我的答案以添加該部分。讓我知道如果這就是你想要的 – jason 2013-03-12 11:38:32

+0

是的..這就是我正在尋找...但我想要的是在IsValid()函數內的代碼(基本上檢查2 TextBox的有效性的代碼 - 在控制自己)...感謝您的幫助... – saklo 2013-03-12 15:15:44

相關問題