Quantcast
Channel: ASP.NET AJAX + Ajax Control Toolkit (ACT)
Viewing all articles
Browse latest Browse all 5678

accordion and modal popup extender

$
0
0

Hello guys,

 I am new to atlas and ajax. Any help would be greatly appreciated.

I dynamically create accordion panes, panel and modal popup extenders.

 First I tried to declare all the panels that will be targets to modalpopuextenders, and modal popupextenders outside of accordion pane.

The linkbuttons that call modalpopup are inside accordion panes. I am getting errors like link button with the following name could not be found.

 I also tried putting the panels and modalpopup extenders into the panes but that caused the accordion not to display properly. What should I do?

 

Thanks alot

 

Here is my code:

 the aspx page looks like this:

<formid="form1"runat="server">

<asp:ScriptManagerrunat="server"ID="scriptManager"EnablePartialRendering="true">

<Services>

<asp:ServiceReferencepath="assetService.asmx"/>

</Services>

</asp:ScriptManager>

<div>

<TABLECELLPADDING="0"CELLSPACING="0"BORDER="0">

<TRALIGN="LEFT"VALIGN="TOP">

<TDALIGN="LEFT"VALIGN="TOP">

<asp:UpdatePanelrunat=ServerID="assetListPanel"UpdateMode="Always">

<ContentTemplate>

<ajaxToolkit:AccordionID="newAccordion"runat="server"EnableViewState=trueSelectedIndex="0"

HeaderCssClass="accordionHeader"ContentCssClass="accordionContent"

FadeTransitions="false"FramesPerSecond="60"TransitionDuration="75"AutoSize="Limit"RequireOpenedPane="false"SuppressHeaderPostbacks="true"Width="250"Height="525">

 

 

</ajaxToolkit:Accordion>

 codebehind looks like this:

void Page_Load(Object sender,EventArgs E)

{

testLbl.Text =
DateTime.Now.ToString();

// Load connections and stringsconnectionString = ConfigurationManager.AppSettings["db_connection_string"];pSpon =newProcSponsorship(connectionString);

dtCategories = pSpon.GetAssetCategories();

LoadNewAssetPane();

}

/* void Page_Load(Object sender, EventArgs E)

{

 

 

}*/

void LoadNewAssetPane()

{

AccordionPane ap;

 

foreach (DataRow dRowin dtCategories.Rows)

{

int curCat = (int)dRow["AssetItemCategoryId"];

dtAssetItems = pSpon.GetAssetItems(curCat);

string CatDescr = dtAssetItems.Rows[0]["CatDescr"].ToString();

string CatDescrLong = dtAssetItems.Rows[0]["CatLongDescr"].ToString(); ap = newAccordionPane();

ap.ID =

"AssetItemCat_"+ curCat; ap.HeaderContainer.Controls.Add(newLiteralControl("<span onmouseover=\"return escape('"+ CatDescrLong +"')\"><a class=accordionLink>"+ CatDescr +"</a></span>"));for (int i = 0; i < dtAssetItems.Rows.Count; i++)

{

//ap.ContentContainer.Controls.Add(new LiteralControl("<span onmouseover=\"return escape('" + dtAssetItems.Rows[i]["LongDescr"] + "')\"><a href=http://forums.asp.net/AddPost.aspx?ForumID=15# class=accordionLink>" + dtAssetItems.Rows[i]["DisplayDescr"]+ "</a></span><BR>"));

 

LinkButton lb = newLinkButton();

lb.ID =

"AssetItemId_"+ dtAssetItems.Rows[i]["AssetItemId"]; lb.Text = (dtAssetItems.Rows[i]["DisplayDescr"]).ToString() +"<br/>";

ap.ContentContainer.Controls.Add(lb);

Panel np = newPanel();

np.ID =

"AssetItemId_Panel_"+ dtAssetItems.Rows[i]["AssetItemId"]; np.Style.Value = "display: none;";

//np.Style = "display: none";np.CssClass = "add_task_panel";

np.Controls.Add(

newLiteralControl("<div><h2><strong>Add new Asset</strong></h2></div>")); np.Controls.Add(newLiteralControl("<div style=\"margin:10px;line-height:150%;\">"));

np.Controls.Add(

newLiteralControl("Asset title :")); np.Controls.Add(newLiteralControl("<div style=\"margin:8px 0px;\">"));

 

TextBox tb1 = newTextBox();

tb1.ID =

"AssetItemId_Panel_TextBox"+ dtAssetItems.Rows[i]["AssetItemId"]; tb1.TextMode = TextBoxMode.MultiLine;

tb1.Rows = 2;

np.Controls.Add(tb1);

np.Controls.Add(
newLiteralControl("<div>"));

Button bt1 = newButton(); bt1.ID = "AssetItemId_Panel_ButtonSave"+ dtAssetItems.Rows[i]["AssetItemId"];bt1.Text ="Save";

np.Controls.Add(bt1);

Button bt2 = newButton(); bt2.ID = "AssetItemId_Panel_ButtonCancel"+ dtAssetItems.Rows[i]["AssetItemId"];bt2.Text ="Cancel";

np.Controls.Add(bt2);

np.Controls.Add(
newLiteralControl("<div>"));

 

ModalPopupExtender modal =newModalPopupExtender(); modal.ID = "AssetItemId_Modal"+ dtAssetItems.Rows[i]["AssetItemId"];

modal.OnOkScript =

"AddAsset();"; modal.CancelControlID = "AssetItemId_Panel_ButtonCancel"+ dtAssetItems.Rows[i]["AssetItemId"];

modal.OkControlID =

"AssetItemId_Panel_ButtonSave"+ dtAssetItems.Rows[i]["AssetItemId"]; modal.BackgroundCssClass = "modal_bg";

 

string s = "AssetItemId_"+ dtAssetItems.Rows[i]["AssetItemId"];

//LinkButton b = (LinkButton)(ap.ContentContainer.Controls[2 + i]);

 

 

modal.TargetControlID =
"AssetItemId_"+ dtAssetItems.Rows[i]["AssetItemId"];modal.PopupControlID ="AssetItemId_Panel_"+ dtAssetItems.Rows[i]["AssetItemId"];

 

 

//ap.ContentContainer.Controls.Add(modal);

 

 

 

 

assetListPanel.ContentTemplateContainer.Controls.Add(np);

 

//ap.ContentContainer.Controls.Add(modal);

assetListPanel.ContentTemplateContainer.Controls.Add(modal);

 

 

}

 

newAccordion.Panes.Add(ap);

 

}

}

 


Viewing all articles
Browse latest Browse all 5678

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>