在不同页面调用用户控件textbox动态验证:
在ascx页面中定义一个textbox控件,在不同的aspx页面调用时,有些需要验证非空有些不需要验证非空如何实现:
实现思路:
1.在ascx用户控件页面,放一个非空验证的控件(RequiredFieldValidator),将启用状态设置为Enabled = false.就是不启用控件。并且给这个用户控件自定义一个属性。属性名称,类型可以自定义。
2 public string IsValidation
3 {
4 get { return isValidation; }
5 set { isValidation = value; }
6 }
2.在aspx页面给该属性赋值。
2 <uc1:ComboGrid1 ID="cgDetectionUnitName" runat="server" EnableViewState="false" isValidation="检测单位不能为空" EnabledAction="/blog_article/(12._)" />
3 <input id="hiDetectionUnitName" runat="server" field="DetectionUnitName" tablename="TesterRecord"
4 type="hidden" />
5 </td>
3.在ascx页面取得该属性的值,通过判断该属性的值。来确定是否需要验证。
2 {
3 if (!IsPostBack)
4 {
5 if (isValidation != null)
6 {
7 rfvTB1.Enabled = true;
8 rfvTB1.ErrorMessage = isValidation;
9 }
10
11 }
12 }
在这里,我自定义的属性是 IsValidation ,string类型的。
当我需要非空验证时,就给该属性赋值。赋的值为,当控件为空时的提示信息。
当不需要验证时,就不用管这个属性。
本文链接
前一版本http://www.cnblogs.com/insus/archive/2013/01/13/2858768.html 是用Javascript获取GridView的行索引。
此篇Insus.NET使用非Javascript获取GridView的行索引。
数据还是使用前一篇的数据来更改。
首先为GridView的控件写OnRowCreated ="GridViewCosmetic_RowCreated"
2 If e.Row.RowType = DataControlRowType.DataRow Then
3 If e.Row.FindControl("LinkButton1") IsNot Nothing Then
4 Dim link As LinkButton = DirectCast(e.Row.FindControl("LinkButton1"), LinkButton)
5 AddHandler link.Click, AddressOf link_click
6 End If
7 End If
8 End Sub
9
10 Private Sub link_click(sender As Object, e As EventArgs)
11 Dim link As LinkButton = DirectCast(sender, LinkButton)
12 Dim gvr As GridViewRow = DirectCast(link.Parent.Parent, GridViewRow)
13
14 Response.Write("<scr" & "ipt>alert('你选择的行索引是:" & gvr.RowIndex & "')</scr" & "ipt>")
15 End Sub
本文链接
浏览器的url经过编码后发送到服务器。连接字符串的编码根据浏览器的不同编码的方式也不同。可经过测试,chrom ff ie等 参数部分的编码默认都是gb2312方式的 不同的是浏览器中地址栏中显示的不同。ie地址栏中显示的是未编码的url,点击回车编码后发送到浏览器。chrom 地址栏中是编码后url,如果在chrom的地址栏中的参数部分手写中文 点击回车 则参数部分以utf-8编码发送。
在服务器端进行参数解码 不知道到底是gb2312还是utf-8 所以解码的时候要做个判断
本文链接