2013-03-08 44 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

相关问题