没有母版页动态用户控件生成和显示内容。 [英] Without Master Page Dynamic User Control Generates, and Display Content.

查看:62
本文介绍了没有母版页动态用户控件生成和显示内容。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,



因为我试图在ASP.NET页面中使用动态用户控件。它只在运行时生成一次。分配主页后。在ASPX页面。没有母版页它会在点击活动中产生多个时间。





ASPX页面

Hi There,

As I was trying to use Dynamic User Control in ASP.NET Page. and It IS Generating Only Once At Run time. After Assign Master Page. in ASPX Page. Without Master Page It Is Generate Multiple Time On Click Event.


The ASPX Page

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Charting.aspx.cs" Inherits="CSA.Presentation.Web.Client.Program.Charting"

    MasterPageFile="~/MasterPage/ClientMaster.master" %>
<%@ Register Src="~/UserControl/ucChartingCriteria.ascx" TagName="ucAddSeries" TagPrefix="ucAddSeries" %>

<asp:Content ID="HeaderPart" runat="server" ContentPlaceHolderID="ClientHeadContent">
    <script type="text/javascript" src="/Script/jquery-1.5.1.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('.centerdiv').css({
                position: 'absolute',
                left: ($(window).width() - $('.centerdiv').outerWidth()) / 2,
                top: ($(window).height() - $('.centerdiv').outerHeight()) / 2
            });
        });
    </script>
    <style type="text/css">
        .col1
        {
            width: 150px;
        }

        .col2
        {
            width: 150px;
        }

        .col3
        {
        }

        div.inline
        {
            float: left;
        }

        .clearBoth
        {
            clear: both;
        }
    </style>
</asp:Content>
<asp:Content ID="BodyPart" runat="server" ContentPlaceHolderID="ClientBodyContent">
    <div class="centerdiv" style="border: 1px solid blue; width: 1000px; height: 600px;">
        <table border="0" style="width: 920px;">
            <tbody>
                <tr>
                    <td style="width: 10%;">
                        <img src="/Image/pskw-r.png" width="200" />
                    </td>
                    <td>
                        <div style="float: right; margin-right: 15px;">
                            Welcome xyz
                        </div>
                        <br />
                        <div>
                            <span style="float: right; margin-right: 15px;">
                                <a href="#" style="padding-right: 25px;">My Dashboard</a>
                                <a href="#" style="padding-right: 25px;">My Profile</a>
                                <a href="#">Not xyz ? Sign out</a>
                            </span>
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
        <br />
        <div style="text-align: center;">Charting</div>
        <br />
        <div class="inline" style="margin-left: 10px; height: 266px; width: 148px;">
            <br />
            Program
                    <br />
            <br />
            Chart Type
                    <br />
            <br />
            Chart Category
                    <br />
            <br />
            Chart Name
                    <br />
            <br />
            <br />
            X Axis Title<br />
            <br />
            X Axix Steps(Months)<br />
            <br />
            <br />
            <div style="height: 137px; width: 900px;">
                <asp:PlaceHolder runat="server" ID="Placeholder1"></asp:PlaceHolder>
            </div>
            <div>
                <asp:Button ID="BtnAddSeriesOrChennels" Text="New Series/Channels"

                    runat="server" Width="220px" OnClick="BtnAddSeriesOrChennels_Click" />
                &nbsp;
            </div>
        </div>
        <div class="inline" style="margin-left: 7px; height: 265px; width: 21px;">
            <br />
            : 
                <br />
            <br />
            :
                <br />
            <br />
            :
                <br />
            <br />
            :
                <br />
            <br />
            :
                <br />
            <br />
            <br />
            :<br />
            <br />
        </div>
        <div class="inline" style="margin-left: 7px; height: 265px">
            <br />
            <asp:Label ID="LblselectedProgrm" Text="Selected Program" runat="server" Width="200"></asp:Label>
            <br />
            <br />
            <asp:DropDownList ID="DdlChartType" runat="server" Width="200px"></asp:DropDownList>
            <br />
            <br />
            <asp:DropDownList ID="DdlChartCategory" runat="server" Width="200px"></asp:DropDownList>
            <br />
            <br />
            <asp:DropDownList ID="DdlChartName" runat="server" Width="200px"></asp:DropDownList>
            <br />
            <br />
            <asp:TextBox ID="TxtXAxisTitle" runat="server" Width="180px"></asp:TextBox>
            <br />
            <br />
            <asp:TextBox ID="TxtXAxisTitle0" runat="server" Width="180px"></asp:TextBox>
            <br />
        </div>
        <div class="inline" style="margin-left: 10px; height: 267px">
            <br />
            <%--1--%>
            <br />
            <br />
            <%-- 2--%>
            <br />
            <br />
            <%--3--%>
            <br />
            <br />
            Chart Title<br />
            <br />
            <br />
            Y Axis Title<br />
            <br />
            Y Axis Steps<br />
            <br />
            <br />
            <br />
        </div>
        <div class="inline" style="margin-left: 10px; height: 268px">
            <br />
            <%--1--%>
            <br />
            <br />
            <%--2--%>
            <br />
            <br />
            <%--3--%>
            <br />
            <br />
            <%--4--%>:<br />
            <br />
            <%--5--%>
            <br />
            :<br />
            <br />
            :
                <br />
            <br />
        </div>
        <div class="inline" style="margin-left: 10px; height: 267px">
            <br />
            <%--1--%>
            <br />
            <br />
            <%--2--%>
            <br />
            <br />
            <%--3--%>
            <br />
            <br />
            <asp:TextBox ID="TxtChartTiltle" runat="server" Width="180px"></asp:TextBox>
            <br />
            <br />
            <br />
            <asp:TextBox ID="TxtYAxisTitle" runat="server" Width="180px"></asp:TextBox>
            <br />
            <br />
            <asp:TextBox ID="TxtYAxisTitle0" runat="server" Width="180px"></asp:TextBox>
        </div>
    </div>
</asp:Content><blockquote class="FQ"><div class="FQA">Quote:</div>





Kindly Find Out My Code.







Kindly Find Out My Code.


const string controlID = "MyUserControl";
        static bool createAgain = false;










using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using CSA.BusinessLibrary.ServiceClass;
using CSA.Contract.DataContract;
using CSA.BusinessLibrary.ServiceUtility;

namespace CSA.Presentation.Web.Client.Program
{
private void GetChartDetails()
        {
            try
            {
                var chartingContract = new ChartingContract
                {
                    programID = -1
                };

                //var dt = _chartingService.GetChartCategoryById(chartCategoryContract);
                //DataView dv = dt.AsDataView();
                string sortvalue = " ASC";

                if (ViewState["SortExpression"] != null)
                {
                    sortvalue = ViewState["SortExpression"].ToString() + " " + ViewState["SortDirection"].ToString();
                }
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
            }

            //dv.Sort = sortvalue;
        }
    
        protected void BtnAddSeriesOrChennels_Click(object sender, EventArgs e)
        {
            try
            {
                UserControl.ucChartingCriteria ucAddSeries = LoadControl("~/UserControl/ucChartingCriteria.ascx") as UserControl.ucChartingCriteria;

                ucAddSeries.Counter.Text = "";
                ucAddSeries.SelectSeries.Text = "Select Series";
                ucAddSeries.SelectColor.Text = "Select Color";
                ucAddSeries.Leggend.Text = "Enter Leggend";

                ucAddSeries.BtnChannelsClk += new UserControl.BtnChannels_Click(ucAddSeries_BtnChannelsClk);

                Placeholder1.Controls.Add(ucAddSeries);

                Session.Add((Session.Count + 1).ToString(), ucAddSeries);

                createAgain = true;
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
            }
        }

     
        void ucAddSeries_BtnChannelsClk(object sender, EventArgs e)
        {
            try
            {
                UserControl.ucChartingCriteria ucAddSeries = ((UserControl.ucChartingCriteria)(sender));
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
            }
        }
      
        protected Control GetPostBackControl(Page page)
        {
            Control control = null;
            try
            {
                string ctrlName = page.Request.Params.Get("__EVENTTARGET");

                if (ctrlName != null && ctrlName != String.Empty)
                {
                    control = page.FindControl(ctrlName);
                }
                else
                {
                    ContentPlaceHolder cph = (ContentPlaceHolder)page.FindControl("Main");
                    for (int i = 0, len = page.Request.Form.Count; i < len; i++)
                    {
                        string[] ctl = page.Request.Form.AllKeys[i].Split('$');
                        if (ctl.Length > 2)
                        {
                            control = cph.FindControl(ctl[2]) as System.Web.UI.WebControls.Button;
                        }

                        if (control != null) break;
                    }
                }
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
            }
            return control;
        }
      
        protected override void OnPreInit(EventArgs e)
        {
            try
            {
                base.OnPreInit(e);

                Control control = GetPostBackControl(this.Page);

                if ((control != null && control.ClientID == BtnAddSeriesOrChennels.ClientID) || createAgain)
                {
                    createAgain = true;

                    CreateUserControl(controlID);
                }
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
            }
        }
      
        protected void CreateUserControl(string controlID)
        {
            try
            {
                if (createAgain && Placeholder1 != null)
                {
                    if (Session.Count > 0)
                    {
                        Placeholder1.Controls.Clear();
                        for (int i = 0; i < Session.Count; i++)
                        {
                            switch (Session[i].ToString())
                            {
                                case "ASP.usercontrol_ucchartingcriteria_ascx":
                                    {
                                        UserControl.ucChartingCriteria ucAddSeries = LoadControl("~/UserControl/ucChartingCriteria.ascx") as UserControl.ucChartingCriteria;

                                        ucAddSeries.Counter.Text = ((UserControl.ucChartingCriteria)(Session[i])).Counter.Text;
                                        ucAddSeries.SelectSeries.Text = ((UserControl.ucChartingCriteria)(Session[i])).SelectSeries.Text;
                                        ucAddSeries.SelectColor.Text = ((UserControl.ucChartingCriteria)(Session[i])).SelectColor.Text;
                                        ucAddSeries.Leggend.Text = ((UserControl.ucChartingCriteria)(Session[i])).Leggend.Text;

                                        ucAddSeries.BtnChannelsClk += new UserControl.BtnChannels_Click(ucAddSeries_BtnChannelsClk);

                                        Placeholder1.Controls.Add(ucAddSeries);
                                        break;
                                    }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
            }
}        
}










The User Control Design Page.







Quote:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucChartingCriteria.ascx.cs%>
    Inherits="CSA.Presentation.Web.UserControl.ucChartingCriteria" %>
    Series / Channels &nbsp <asp:Label ID="LblCount" Text="1" runat="server"></asp:Label>:&nbsp<asp:DropDownList ID="DDLSelectSeries" width="150px" runat="server"></asp:DropDownList>
    &nbsp<asp:DropDownList ID="DDLSelectColor" Width="100px" runat="server"></asp:DropDownList>&nbsp<asp:TextBox ID="TxtLeggend" Width="120px" Runat="server"></asp:TextBox> &nbsp<asp:Button ID="BtnChannels" runat="server" Text="Insert Channel"

        OnClick="BtnChannels_Click1" /> <br /><blockquote class="FQ"><div class="FQA">Quote:</div></blockquote</blockquote>>

<blockquote class="FQ"><div class="FQA">Quote:</div><pre lang="cs"></blockquote>Code Behind Of UserControl<blockquote class="FQ"><div class="FQA">Quote:</div>







Quote:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CSA.Presentation.Web.UserControl
{
    
    //Create Delegate to Invoke New Control Collection
    public delegate void BtnChannels_Click(object sender, System.EventArgs e);
   


    public partial class ucChartingCriteria : System.Web.UI.UserControl
    {
       
            public event BtnChannels_Click BtnChannelsClk;
       
        public Label Counter
        {
            get
            {
                return LblCount;
            }
            set
            {
                LblCount = value;
            }
        }

        public DropDownList SelectSeries
        {
            get
            {
                return DDLSelectSeries;
            }
            set
            {
                DDLSelectSeries = value;
            }

        }

        public DropDownList SelectColor
        {
            get
            {
                return DDLSelectColor;
            }
            set
            {
                DDLSelectColor = value;
            }
        }

        public TextBox Leggend
        {
            get
            {
                return TxtLeggend;
            }
            set
            {
                TxtLeggend = value;
            }
        }
       
        protected virtual void OnbtnDelQtnMrClk(EventArgs e)
        {
            BtnChannelsClk(this, e);
        }
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {

        }

      
        protected void BtnChannels_Click1(object sender, EventArgs e)
        {
            OnbtnDelQtnMrClk(e);
        }
    }
}<blockquote class="FQ"><div class="FQA">Quote:</div></blockquote>







Is Any One Help Me Ho To Generate Multiple Rows Of Server Control In Content Place Holder Using Master Page.




Is Any One Help Me Ho To Generate Multiple Rows Of Server Control In Content Place Holder Using Master Page.

推荐答案

(document).ready(function () {
(document).ready(function () {


('.centerdiv').css({
position : 'absolute',
left: (
('.centerdiv').css({ position: 'absolute', left: (


(window).width() -
(window).width() -


这篇关于没有母版页动态用户控件生成和显示内容。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆