zoukankan      html  css  js  c++  java
  • 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/
  • 相关阅读:
    方法
    Go中的OOP
    GO 结构体
    指针
    闭包
    回调函数
    匿名函数
    函数的数据类型及本质
    defer语句
    递归函数
  • 原文地址:https://www.cnblogs.com/chenghm2003/p/1254190.html
Copyright © 2011-2022 走看看