• 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/
  • 相关阅读:
    团队开发之个人博客三
    团队开发之个人博客二
    团队开发之个人博客一
    第六周进度条
    四则运算(Android)版
    第五周学习进度条
    第二冲刺周期个人报告01
    查找水王01
    构建之法阅读笔记09
    构建之法阅读笔记08
  • 原文地址:https://www.cnblogs.com/chenghm2003/p/1254190.html
Copyright © 2020-2023  润新知