Как передать переменную в SelectCommand SqlDataSource?

нам приходилось делать это parameters так часто, что я создал то, что aspdotnet назвал классом DelegateParameter

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Reflection;

namespace MyControls
{
    public delegate object EvaluateParameterEventHandler(object sender, EventArgs e);

    public class DelegateParameter : Parameter
    {
        private System.Web.UI.Control _parent;
        public System.Web.UI.Control Parent
        {
            get { return _parent; }
            set { _parent = value; }
        }

        private event EvaluateParameterEventHandler _evaluateParameter;
        public event EvaluateParameterEventHandler EvaluateParameter
        {
            add { _evaluateParameter += value; }
            remove { _evaluateParameter -= value; }
        }

        protected override object Evaluate(System.Web.HttpContext context, System.Web.UI.Control control)
        {
            return _evaluateParameter(this, EventArgs.Empty);
        }
    }
}

поместите variable этот класс либо в свой app_code variables (удалите пространство имен, если params вы поместили его туда), либо asp.net-website в свою сборку настраиваемого aspx элемента управления. После aspx регистрации элемента управления param в web.config вы сможете это aspdotnet сделать


    
    
    

затем в коде вы реализуете variable GetUserID так, как вам нравится.

protected object GetUserID(object sender, EventArgs e)
{
  return userId;
}

.net

asp.net

variables

parameters

sqldatasource

2022-09-02T17:52:14+00:00
Вопросы с похожей тематикой, как у вопроса:

Как передать переменную в SelectCommand SqlDataSource?