当前位置:  编程技术>.net/c#/asp.net
本页文章导读:
    ▪点滴积累---定义一个textbox用户控件在ascx页面!在不同的aspx页面调用时动态验证      在不同页面调用用户控件textbox动态验证:在ascx页面中定义一个textbox控件,在不同的aspx页面调用时,有些需要验证非空有些不需要验证非空如何实现:实现思路:1.在ascx用户控件页面,放一.........
    ▪获取GridView行索引 Ver2      前一版本http://www.cnblogs.com/insus/archive/2013/01/13/2858768.html 是用Javascript获取GridView的行索引。此篇Insus.NET使用非Javascript获取GridView的行索引。数据还是使用前一篇的数据来更改。首先为GridView.........
    ▪asp.net后台解码url传递的连接字符串的中文参数      浏览器的url经过编码后发送到服务器。连接字符串的编码根据浏览器的不同编码的方式也不同。可经过测试,chrom ff  ie等 参数部分的编码默认都是gb2312方式的 不同的是浏览器中地址栏中.........

[1]点滴积累---定义一个textbox用户控件在ascx页面!在不同的aspx页面调用时动态验证
    来源:    发布时间: 2013-10-28

在不同页面调用用户控件textbox动态验证:

在ascx页面中定义一个textbox控件,在不同的aspx页面调用时,有些需要验证非空有些不需要验证非空如何实现:

实现思路:
1.在ascx用户控件页面,放一个非空验证的控件(RequiredFieldValidator),将启用状态设置为Enabled = false.就是不启用控件。并且给这个用户控件自定义一个属性。属性名称,类型可以自定义。

1 private string isValidation;
2 public string IsValidation
3 {
4 get { return isValidation; }
5 set { isValidation = value; }
6 }

2.在aspx页面给该属性赋值。

1 <td colspan="5">
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页面取得该属性的值,通过判断该属性的值。来确定是否需要验证。

1 protected void Page_Load(object sender, EventArgs e)
2 {
3 if (!IsPostBack)
4 {
5 if (isValidation != null)
6 {
7 rfvTB1.Enabled = true;
8 rfvTB1.ErrorMessage = isValidation;
9 }
10
11 }
12 }

在这里,我自定义的属性是 IsValidation ,string类型的。
当我需要非空验证时,就给该属性赋值。赋的值为,当控件为空时的提示信息。
当不需要验证时,就不用管这个属性。

本文链接


    
[2]获取GridView行索引 Ver2
    来源:    发布时间: 2013-10-28

前一版本http://www.cnblogs.com/insus/archive/2013/01/13/2858768.html 是用Javascript获取GridView的行索引。

此篇Insus.NET使用非Javascript获取GridView的行索引。

数据还是使用前一篇的数据来更改。

首先为GridView的控件写OnRowCreated ="GridViewCosmetic_RowCreated"

1 Protected Sub GridViewCosmetic_RowCreated(sender As Object, e As GridViewRowEventArgs)
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

 

本文链接


    
[3]asp.net后台解码url传递的连接字符串的中文参数
    来源:    发布时间: 2013-10-28

浏览器的url经过编码后发送到服务器。连接字符串的编码根据浏览器的不同编码的方式也不同。可经过测试,chrom ff  ie等 参数部分的编码默认都是gb2312方式的 不同的是浏览器中地址栏中显示的不同。ie地址栏中显示的是未编码的url,点击回车编码后发送到浏览器。chrom 地址栏中是编码后url,如果在chrom的地址栏中的参数部分手写中文 点击回车 则参数部分以utf-8编码发送。

 在服务器端进行参数解码 不知道到底是gb2312还是utf-8 所以解码的时候要做个判断

 

/// <summary>
    /// 对url的连接字符串中的参数进行解码输出
    /// </summary>
    /// <param name="pname">参数名</param>
    /// <param name="dvalue">参数默认值</param>
    /// <returns>解码后的值</returns>
 
 protected string GetQueryString(string pname, string dvalue)
    {
        //1 得到url传来的未解码的参数的值
 
        string url = Request.RawUrl;
 
        string paramenvalue = "";
        string url1 = url.Substring(url.IndexOf('?') + 1);
        if (url1.IndexOf(pname) > 0)
        {
            if (url1.IndexOf('&') > 0)
            {
                string[] parray = url1.Split('&');
                if (parray.Length > 0)
                {
                    for (int i = 0; i < parray.Length; i++)
                    {
                        string[] paramarray = parray[i].Split('=');
 
                        if (paramarray[0] == pname)
                        {
                            paramenvalue = paramarray[1];
 
                        }
                    }
                }
            }
            else
            {
                paramenvalue = url1.Substring(url1.IndexOf('=') + 1);
 
            }
            //2 进行解码 
            //paramvalue是UrlEncode编码字符串 
            Encoding gb2312 = Encoding.GetEncoding("gb2312");
            Encoding utf8 = Encoding.UTF8;
            //首先用utf-8进行解码 
            string enparam = HttpUtility.UrlDecode(paramenvalue, utf8);
            //Response.Write("用utf8解码后:" + classname);
            // 将已经解码的字符再次进行编码. 
            string encode = HttpUtility.UrlEncode(enparam, utf8).ToUpper();
 
            //Response.Write("用utf8编码后" + encode);
            //与原来编码进行对比,如果不一致说明解码未正确,用gb2312进行解码 
            if (paramenvalue != encode)
            {
                //enparam = HttpUtility.UrlDecode(urlparam, gb2312);
                enparam = Request.QueryString[pname];
 
            }
            return enparam;
        }
        else
        {
            return dvalue;
        }
    
    }

本文链接


    
最新技术文章:
▪C#通过IComparable实现ListT.sort()排序
▪C#实现对Json字符串处理实例
▪Winform实现抓取web页面内容的方法
▪Winform实现将网页生成图片的方法
▪C#控制台程序中处理2个关闭事件的代码实例
▪WinForm实现同时让两个窗体有激活效果的特效...
▪WinForm实现拦截窗体上各个部位的点击特效实...
▪用C#的params关键字实现方法形参个数可变示例
▪C#判断某程序是否运行的方法
▪C#验证码识别基础方法实例分析
▪C#通过WIN32 API实现嵌入程序窗体
▪C#实现获取鼠标句柄的方法
▪C#事件处理和委托event delegate实例简述
▪C#获取程序文件相关信息的方法
▪C#中的除法运算符与VB.NET中的除法运算符
▪ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedLi...
▪Base64编码解码原理及C#编程实例
▪C#实现的优酷真实视频地址解析功能(2014新算...
▪C#和SQL实现的字符串相似度计算代码分享
▪C#使用Word中的内置对话框实例
▪C#反射之基础应用实例总结
▪C#生成单页静态页简单实例
▪C#实现SMTP邮件发送程序实例
▪C#实现随鼠标移动窗体实例
▪C#使用GDI+创建缩略图实例
▪C#实现通过模板自动创建Word文档的方法
▪C#中Response.Write常见问题汇总
▪C#中多态、重载、重写区别分析
▪WinFrom中label背景透明的实现方法
▪C#中out保留字用法实例分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3