• 好方法,让前台绑定更简单


    方法代码

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace WebHelper.Data
    {
        
    public class Binds
        
    {
            
    /// <summary>
            
    /// 用于链接中的数据绑定,调用方法:WebHelper.Data.Binds.Eval("http://{0}",Eval("name"));
            
    /// </summary>

            public static string Eval(string Format, params object[] Args)
            
    {
                
    return Eval(Format, true, Args);
            }


            
    /// <summary>
            
    /// 用于链接中的数据绑定
            
    /// </summary>

            public static string Eval(string Format, bool EncodeUrl, params object[] Args)
            
    {
                List
    <string> args = new List<string>();
                
    foreach (object arg in Args)
                
    {
                    
    if (arg == null)
                        args.Add(
    string.Empty);
                    
    else
                        args.Add(arg.ToString());
                }

                
    if (EncodeUrl)
                    
    return Url.Encode.EncodeUrl(string.Format(Format, args.ToArray()));
                
    else
                    
    return string.Format(Format, args.ToArray());
            }

        }

    }

    用到了另一个类,这是处理中文的

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Web;
    using System.Net;
    using System.Text.RegularExpressions;

    namespace WebHelper.Url
    {
        
    public class Encode
        
    {
            
    public static string EncodeUrl(string oldUrl)
            
    {
                
    string newUrl = EncodeGuid(oldUrl);
                newUrl 
    = EncodeGBcode(newUrl);
                
    return newUrl;
            }


            
    /// <summary>
            
    /// 去掉参数中Guid中的"-"不安全的,必须是正确的Url格式
            
    /// </summary>
            
    /// <param name="oldUrl"></param>
            
    /// <returns></returns>

            public static string EncodeGuid(string oldUrl)
            
    {
                
    string newUrl = oldUrl;
                MatchCollection mc;
                Regex r 
    = new Regex(@"\w{8}-\w{4}-\w{4}-\w{4}-\w{12}"); //定义一个Regex对象实例=&
                if (oldUrl.IndexOf("?"> 0)
                
    {
                    mc 
    = r.Matches(oldUrl, oldUrl.IndexOf('?'));
                    
    foreach (Match match in mc)
                    
    {
                        newUrl 
    = oldUrl.Replace(match.Value, match.Value.Replace("-"""));
                    }

                }

                
    return newUrl;
            }


            
    /// <summary>
            
    /// 编码Url中的中文
            
    /// </summary>
            
    /// <param name="oldUrl"></param>
            
    /// <returns></returns>

            public static string EncodeGBcode(string oldUrl)
            
    {
                
    string newUrl = System.Web.HttpContext.Current.Server.UrlEncode(oldUrl);
                
    string strSpecial = "!\"#$%&'()*+,/:;<=>?@[\\]^`{|}~% ";
                foreach (char tmp in strSpecial)
                
    {
                    newUrl 
    = newUrl.Replace(System.Web.HttpContext.Current.Server.UrlEncode(tmp.ToString()), tmp.ToString());
                }

                
    return newUrl;
            }

        }

    }

    调用很简单

    <href='<%# WebHelper.Data.Binds.Eval("http://{0}/Msg.aspx?ID={1}",Eval("Domain"),Eval("ID")) %>' target="_blank"><%Eval("Title"%></a>

    有了这个方法,调用就很简单了,而且对中文处理也有了
  • 相关阅读:
    IDL打包发布exe(包含ENVI环境)
    电磁辐射基本概念
    ENVI_REGISTER_DOIT( )函数
    serverlet Web.xml配置代码解释
    Java设置session超时(失效)的时间
    JSP处理XML
    初学JSP
    顶部固顶导航菜单代码css+js
    oracle 关于删除指令的(我每天拼了命的努力,就是为了向那些看不起我的人证明,你们是对的)
    oracle题
  • 原文地址:https://www.cnblogs.com/yamajia/p/908658.html
Copyright © 2020-2023  润新知