Soyez le premier à donner votre avis sur cette source.
Snippet vu 20 863 fois - Téléchargée 28 fois
using System; using System.Collections.Generic; using System.Text; using System.Web.UI; namespace CSLib.Web.UI { public class Page : System.Web.UI.Page { #region "Constructor" public Page() { this.Init += new EventHandler(Page_Init); } #endregion #region "Property" private Boolean renderOnlyPage = false; /// <summary> /// if true, the page would render only ContentPlaceHolder /// </summary> public Boolean RenderOnlyPage { get { return renderOnlyPage; } set { renderOnlyPage = value; } } private string renderOnlyOneContentPlaceHolder = string.Empty ; public string RenderOnlyOneContentPlaceHolder { get { return renderOnlyOneContentPlaceHolder; } set { renderOnlyOneContentPlaceHolder = value; } } #endregion /// <summary> /// List of ContentPlaceHolder /// </summary> private List<Control> _Control = new List<Control>(); void Page_Init(object sender, EventArgs e) { if (RenderOnlyPage) { // parcours récursif sur tous les controles de la page CheckContentPlaceHolderRecursive(this); // suppression de tous les controles de la page // pour ensuite rajouter nos contentPlaceHolder this.Controls.Clear(); foreach (Control c in _Control) this.Controls.Add(c); } } /// <summary> /// fonction recursive, qui fouille dans les controles de la page pour trouver /// un ContentPlaceHolder /// </summary> /// <param name="control"></param> private void CheckContentPlaceHolderRecursive(Control control) { if (control is System.Web.UI.WebControls.ContentPlaceHolder) { if (RenderOnlyOneContentPlaceHolder == string.Empty ) _Control.Add(control); else if (control.ID == RenderOnlyOneContentPlaceHolder) _Control.Add(control); } else if (control.Controls.Count > 0) foreach (Control c in control.Controls) CheckContentPlaceHolderRecursive(c); } /// <summary> /// Cette méthode déclenche un evenement, si un control ayant besoin d'une balise form /// (c'est le cas des controles avec postback) est absent. /// En surchargeant cette méthode on passe outre cette limitation. /// </summary> /// <param name="control"></param> public override void VerifyRenderingInServerForm(Control control) { if (!RenderOnlyPage) base.VerifyRenderingInServerForm(control); } } }
11 août 2008 à 16:14
Pour effectuer ca, j'ai d'abord commencé par créer un DataSet avec mes 2 tables liées et sur la page details.aspx j'ai mi un CrystalReportViewer que j'ai lié avec le DataSet mais ensuite celà me créer un etat mais ce n'est pas ca dont j'ai besoin...
Quelqu'un aurait-il une démarche à suivre ?
Merci beaucoup
4 déc. 2007 à 13:57
par exemple
private Boolean renderOnlyPage = false;
/// <summary>
/// if true, the page would render only ContentPlaceHolder
/// </summary>
public Boolean RenderOnlyPage
{
get { return renderOnlyPage; }
set { renderOnlyPage = value; }
}
ce sont des fonctions? pourquoi tu fais un dim renderOnlypage as boolean ) false et aprés un public boolean avec le get et le set à quoi ça correspond et comment tu transforme ça en vb.
Désolé je sais que pour toi ça semble logique mais je débute.
merci encore
4 déc. 2007 à 01:05
4 déc. 2007 à 00:47
merci
17 juil. 2006 à 20:33
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.