• Parameter HTTP 参数基类


    namespace ControlLibrary {
        
    using System;
        
    using System.Data;
        
    using System.Configuration;
        
    using System.Web;
        
    using System.Web.Security;
        
    using System.Web.UI;
        
    using System.Web.UI.WebControls;
        
    using System.Web.UI.WebControls.WebParts;
        
    using System.Web.UI.HtmlControls;


        
    public class PagePropertyParameter : Parameter {

            
    private String _key;

            
    public String Key {
                
    get {
                    
    return _key;
                }

                
    set {
                    _key 
    = value;
                }

            }


            
    protected override object Evaluate(HttpContext context, Control control) {
                Type t 
    = control.Page.GetType();
                System.Reflection.PropertyInfo pi 
    = t.GetProperty(Key, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic);
                
    return pi.GetValue(control.Page, null);
            }

        }


        
    public class ViewStateParameter : Parameter {

            
    private String _key;

            
    public String Key {
                
    get {
                    
    return _key;
                }

                
    set {
                    _key 
    = value;
                }

            }


            
    protected override object Evaluate(HttpContext context, Control control) {
                Type t 
    = control.Page.GetType();
                System.Reflection.PropertyInfo pi 
    = t.GetProperty("ViewState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
                StateBag pageViewState 
    = pi.GetValue(control.Page, nullas StateBag;
                
    return pageViewState[Key];
            }

        }


        
    public class RequestParameter : Parameter
        
    {
            
    private String _key;

            
    public String Key
            
    {
                
    get
                
    {
                    
    return _key;
                }

                
    set
                
    {
                    _key 
    = value;
                }

            }


            
    protected override object Evaluate(HttpContext context, Control control)
            
    {
                
    return context.Request.Params.Get(_key);
               
    // return base.Evaluate(context, control);
            }

        }

    }
    2.使用方法
      <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:pubsConnectionString1 %>"
                ProviderName="<%$ ConnectionStrings:pubsConnectionString1.ProviderName %>" SelectCommand="SELECT [stor_id], [stor_name], [stor_address], [city], [state], [zip] FROM [stores] WHERE ([stor_name] LIKE '%' + @stor_name + '%')">
                <SelectParameters>
                    <%--<cc1:ViewStateParameter Name="stor_name" Key="TestState" Type="String" />--%>
                   <%-- <cc1:PagePropertyParameter Name="stor_name" Key="TestValue" Type="String" />--%>
                    <cc1:RequestParameter Name="stor_name" Key="Name" Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>
    代码来源:http://www.cnblogs.com/CSharp/
  • 相关阅读:
    .net AJAX运行错误 未能加载文件或程序集 "System.Web....”的解决办法
    mysql免安装版使用方法
    XP下IIS+php 5.2.4配置
    distinct order by
    手机操作系统介绍
    .net自带 SQL Server 2005 Express使用
    统计字符串数组中每个字符串所出现的次数
    juqery 学习之三 选择器<层级><基本>
    juqery 学习之三 选择器<简单><内容>
    juqery 学习之三 选择器<可见性><元素属性>
  • 原文地址:https://www.cnblogs.com/chenghm2003/p/1254190.html
Copyright © 2020-2023  润新知