4.17-4.20学习小记

customValidator

aspx:

<script language="JavaScript">
  function validateNumber(oSrc, args) {
    args.IsValid = (args.Value % 5 == 0);
  }
</script>
<asp:CustomValidator ID="CustomValidator1"
    Runat="server" ControlToValidate="TextBox1"
    ErrorMessage="Number must be divisible by 5"
    ClientValidationFunction="validateNumber" //客户端验证
    OnServerValidate="ValidateNumber">//服务器端验证
</asp:CustomValidator>

 cs:

void ValidateNumber(object source, ServerValidateEventArgs args)
    {
       try
       {
          int num = int.Parse(args.Value);
          args.IsValid = ((num%5) == 0);
       }
       catch(Exception ex)
       {
          args.IsValid = false;
       }
    }

 

 

ValidationSummary
以弹出对话框的形式显示错误消息
ShowMessageBox="True"
以带项目符号的验证错误列表形式在web页面上显示错误消息
ShowSummary="False"
关闭客户端验证
EnableClientScript="false"

 

使用验证组
ValidationGroup=“GroupName”
某控件出现验证错误,变自动获得焦点
SetFocusOnError=“true”

 

内容页获取Master页面控件的值
Label1.Text=(Master.FindControl("Label1") as Label).Text;
这条语句放在Page_LoadComplete事件中执行,
因为内容页的Page_Load事件总是在Master页面的Page_Load事件后立刻触发

 

 

如何高效的在内容页获得Master页面中的服务器控件
Master中:

    public Label MasterPageLabel
    {
        get
        {
            return Label1;
        }
        set
        {
            Label1 = value; 
        }
    } 

 

内容页:

protected void Page_Load(object sender, EventArgs e)
    {
        Master.MasterPageLabel1.Font.Size = 25;
    }

 

低效方法:Master.FindControl("控件名") as 控件类型

 

 

通过Page_PreInit事件,使用Page.MasterPageFile属性,给当前内容页指定母版页

protected void Page_PreInit(object sender, EventArgs e)
    {
        Page.MasterPageFile = "~/MyMasterPage.master";
    }

 

 

 

高速缓存的Master页面

<%@ OutputCache Duration="10" Varybyparam="None" %>

 

放入内容页,不放在母版页

 

 

在对数组使用foreach时,编译好的中间语言(IL)代码与使用for的代码相同,除非需要更复杂的操作,
如逆序迭代或每隔一项进行迭代,否则应使用foreach迭代数组和大多数集合,特定语言的编译器会处理这种情况,

代码不容易出错,且易于理解。

 

 

复制数组到新数组中
Person[] people2  = new Person[6];
Array.Copy(people, people2, people.Length);

 

people 要复制的数组

people2要接受的数组

people.Length要复制的数组长度

 

 MultiView视图中
下面代码写在Page_PreRender事件中

 Label2.Text = "Step" + (MultiView1.ActiveViewIndex + 1).ToString() + "of" + MultiView1.Views.Count.ToString();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值