zoukankan      html  css  js  c++  java
  • .Net数据源自定义参数

    1.web控件源码
    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>
  • 相关阅读:
    diango-tinymce富文本编译器
    django 1.10以上版本,引入js
    linux中使用vi 打开文件时,能显示行号
    ubuntu 16.04 系统语言汉化
    ubuntu16.04 一些简单软件安装操作
    urllib -- ProxyHandler处理器(代理设置)
    urllib基本使用-Handler和自定义的opener()
    urllib基本使用 urlopen(),Request
    python3
    Ubuntu安装Mysql+Django+MySQLdb
  • 原文地址:https://www.cnblogs.com/CSharp/p/939886.html
Copyright © 2011-2022 走看看