Controls Generated From XSLT Don't Show Up In Panel Added As A Literal Control
Feb 17, 2010
I have the following code:
XElement Categories =
new XElement("Promotions",
from b in db.GetPromotions()
select new XElement("Promotion",
new XElement ("Category",b.CategoryName),
new XElement("Client",b.ClientName),
new XElement("ID",b.ID),
new XElement("Title",b.Title)));
XDocument mydoc = new XDocument();
mydoc.Add(Categories);
try
{
// Load the style sheet.
XslTransform xslt = new XslTransform();
xslt.Load(@"C:WebDesktopModulesPromotionsTransList.xslt");
// Execute the transform and output the results to a writer.
StringWriter sw = new StringWriter();
//XsltSettings mysettings = new XsltSettings();
XmlWriterSettings mysettings = new XmlWriterSettings();
xslt.Transform(mydoc.CreateReader(),null, sw);
String mstring = sw.ToString();
It generates the following string:
<ul id="red" class="treeview-red" xmlns:asp="http://schemas.microsoft.com/ASPNET/20">
<li><span>Arts & Entertainment</span><ul>
<li><span>Client 1</span><ul>
<li><span><asp:LinkButton ID="LinkButton2" runat="server" OnClick="LinkClicked" Text="Get your Free 2" /></span></li>
<li><span><asp:LinkButton ID="LinkButton4" runat="server" OnClick="LinkClicked" Text="Get your Free 4" /></span></li>
<li><span><asp:LinkButton ID="LinkButton5" runat="server" OnClick="LinkClicked" Text="Get your Free 5" /></span></li>
</ul>
</li>
</ul>
</li>
<li><span>Community & Neighborhood</span><ul>
<li><span>Client 2</span><ul>
<li><span><asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkClicked" Text="Get your Free 1" /></span></li>
</ul>
</li>
</ul>
</li>
<li><span>Education</span><ul>
<li><span>Client 3</span><ul>
<li><span><asp:LinkButton ID="LinkButton3" runat="server" OnClick="LinkClicked" Text="Get Your Free 3" /></span></li>
</ul>
</li>
</ul>
</li>
<li><span>Home & Garden</span><ul>
<li><span>Client 4</span><ul>
<li><span><asp:LinkButton ID="LinkButton6" runat="server" OnClick="LinkClicked" Text="Get your Free 6" /></span></li>
</ul>
</li>
</ul>
</li>
</ul>
Now I take the string and add it to a panel which is part of a view in a multiview control: Panel1.Controls.Add(new LiteralControl(mstring)); I have tried to play with Page.ParseControl, but I cannot get it to work right in the panel, the linkbuttons do not show, even though the text is there in the source. Now I tried this: Control myctrl = Page.ParseControl(mstring); Panel1.Controls.Add(myctrl); and I get this as the one of the controls:
a id="dnn_ctr954_ViewPromotions_LinkButton2" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("dnn$ctr954$ViewPromotions$LinkButton2", "", true, "", "", false, true))">Get your Free 2</a>
It doesn't work the way expected, dotnetnuke is doing some nutty stuff here using the parse control. it seems to drop my LinkClicked event.
View 3 Replies
Similar Messages:
Jul 6, 2010
I try to mak a custom textbox. Something pretty easy to do but I can't figure out one thing. When I write my textbox in designmode I have this <custom:Textbox runat="server" ID="Textbox1">Test</custom:Textbox> The problem is The textbox is a webcontrol I added to my class [Parsechildren(false)] like this [Parsechildren(false)]
public class Textbox : WebControl
{
}
now the problem is I want to able to write the Text from the textbox between the beginningtag and andingtag but I want to disable every other control in designmode. When I add < between the tags then you can see you can write all tags between it. disable all controls except literal between the tage in designmode?
View 4 Replies
Sep 22, 2014
I have a page with an panel on it that can contain a number of editable controls (textboxes, date pickers etc). This panel (and the controls) are populated dynamicaly by loading up an XSLT tranformation and applying it to an XML document (which represents the entity being edited) in the Pages Load event if !isPostBack.
Once the user has made changes they click a button and the form posts back. At that point I want to be able to go through the various controls in the panel, get the updated values and persist them back to a database. When I try to access the controls in the underlying buttons even theyre not there the panel is empty.
What I think is happening is that the page is being recreated at the start of the post back. When its recreated the XSLT transformation doesnt run because its a postback so the edit panel never gets repopulated. The controls therefore dont exist as far as my Button handler is concerned and it cant access their values.
My stopgap solution to this is that Im not checking isPostBack before repopulating the panel, so now the panel gets repopulated in the post back, the controls are there and Im able to query their values. The problem is that this involves another round trip to the database server to pick up the xslt and thats undesirable.So, first of all, have I understood the problem correctly?
I could save the trip to the db by storing the xslt (probably in the view state) but the whole idea of having to load up the control before checking its values feels sort of wrong and Im concerned that Im doing the wrong thing without realising. When I repopulate the control I am, of course, applying the XSLT to the XML document as it stood before the user made any edits. I would have expected querying the value of a control to return me the value before the user changes, but it actually seems to return me the value of the control as it was in the page when the user clicked the button. How can that be?
View 6 Replies
Feb 9, 2011
Consider the following code, adding 2 textboxes with the same ID (oops):
protected void Page_Load(object sender, EventArgs e)
{
string TextBoxName = "TextBox1";
Panel p = new Panel();
TextBox t = new TextBox();
t.ID = TextBoxName;
p.Controls.Add(t);
if (p.FindControl(TextBoxName) == null) // <-------*******
{
TextBox t2 = new TextBox();
t2.ID = TextBoxName;
p.Controls.Add(t2);
}
Page.Form.Controls.Add(p);
}
The code is designed to stop adding the same ID twice. However, the Panel.FindControl() method is not finding a control that was added in the previous line of code.
Am I using this in the wrong way?
I mean - sure - I could manually iterate through the controls in the next level, like:
string TextBoxName = "TextBox1";
Panel p = new Panel();
TextBox t = new TextBox();
t.ID = TextBoxName;
p.Controls.Add(t);
TextBox t2 = new TextBox();
t2.ID = TextBoxName;
bool duplicateFound = false;
foreach( Control c in p.Controls )
{
if(c.ID == TextBoxName)
{
duplicateFound = true;
break;
}
}
if( duplicateFound )
{
t2.ID = TextBoxName + "__0";
p.Controls.Add(t2);
}
But I don't understand why this isn't working, whereas Placeholder controls and UserControls work fine.
The reason I am using Panels is for CSS styling. body > div > input - but still - it isn't working.
View 1 Replies
Jan 1, 2011
At run-time I add a dropdownlist but when user selects an item there is no event for:
SelectedIndexChanged
CODE THAT ADDS THE DROPDOWNLIST TO THE PANEL:
[Code]....
AND, THE EVENT HANDLER:
[Code]....
[Code]....
View 1 Replies
Nov 14, 2010
I am facing a problem with panel inside a fromview...when i am trying to add some to the panel its not working....My code is as follows
[code]...
I tried with the place holder and its worked fine but not with panel...
Is there any way to add CSSClass to a place holder...
View 5 Replies
Apr 26, 2010
For my Dynamic Data site I have a table that has a join to a number of other tables. If I use the standard page for this table I get all of my columns from the primary table and related tables (which is good) and the appropriate literal values from the related table (which is great). The bad part is the order of the columns.
To address the order of the columns I created Custom Folder/Page for the table. I also have a partial class that controls date formatting. This takes care of the ordering of columns fine (which is a step forwared), but now I'm seeing the foreign key IDs instead of the literal values from related tables (which is a step backward).
All I did was copy the standard page to the Custom folder for the table, turn off AutoGenerateColumns, and specify the column order and display name. Why would the foreign key change occur? As a side note, if addressing column order in the partial class is the preferred method I could go that route, but I haven't been able to understand how to do that in VB (I've seen many examples in C#, but that's not my strong point).
View 2 Replies
Aug 18, 2015
I want to open asp panel inside gridview selected row and the panel is placed outside the gridview(above gridview) using javascript or jquery.
View 1 Replies
Feb 3, 2011
I'm adding a serires of asp:literal and asp:textbox controls to a panel in code as below (the eventual aim being to add only some of the controls depending on the user):
[code]....
How can I control how the panel is rendered, preferably without having to create a custom control?
View 3 Replies
Jun 30, 2010
How can i set the value of literal control inside itemtemplate control of gridview from code behind ?(i am using vb.net)
View 1 Replies
Mar 18, 2010
i have to access Textbox and check box values at same time those check box and text box created at run time .i know how i can retrive single controll but problem is that i want both control values at same time to add them in database
[Code]....
View 1 Replies
Jan 24, 2011
Im working on app that queries another website, and pulls back an xml, I then populate a result panel with ImageButton(s), and time in a click event, when the image is click I want to popup a div box using the jquery ui, that will show more information, about the picture clicked on. however whenever id this this seems to wipe out my results panel(Panel Control) and the div box never appears and as far as I can tell the imagebutton click event never fires. I've tried doing this two ways one with an update panel and again without, I would appreciate any help on this.Im wondering if I'm doing to much long on my search button click, Im wonder if I should just let the post pack handle populating the result panel and ditch the update panel.(and yes my div tag is set to runat server)I'm also up for suggestions maybe there is a better way to do this, I thought creating hidden div tags for each item, and then running javascript for when the image is clicked and showing it that way, However that seems stupid, in my opinion it seems to make more sense to make my div control once and then update the labels inside it on each image click and then show or hide it.
View 1 Replies
Sep 28, 2010
I was wondering if there's a way in Umbraco to log errors that we get when it fails to load xslt or user-controls. Generally it shows a red box saying it couldn't load the control and stuff. Is there a way to properly log this?
View 1 Replies
Aug 30, 2010
I am using FormView to display one record at a time and after I add a new record, it won't display the last recorded added.How can I force FormView to display the last record added?
View 2 Replies
Apr 19, 2010
i add below coding in my master page.
<asp:Literal ID="Literal2" runat="server"></asp:Literal>
[Code]....
View 4 Replies
Nov 18, 2010
Recently i am working in VS2008 installed in windows xp SP2. In the toolbox i added a new tab and added some third party controls in the toolbox, by using "Choose Item" dialog.. I also added Ajax ToolKit to the tool box. It worked fine and i could drag n drop controls.
But then if i restart VS2008, all the tabs i created and controls in it goes off and disappears ncluding Ajax Toolkit. Each time i restart it, I have to have add those controls newly?
Is this a Bug?? or Is there any solution for this?
View 3 Replies
Mar 5, 2011
in code behind i want to show clientname and leave a line and clitntittle using a literal field.
View 7 Replies
Jan 14, 2011
how to show error msg in literal if no record found in database according to the text entered in textbox1 and textbox2 else if show record in gridview if the text entered in textbox1 and textbox2 will be found in database ...
View 1 Replies
Jan 6, 2011
I have made a user control using CollapsiblePanelExtender control. I am getting a small issue, that the panel that expands is not relative to the control. It always open on left side of the page. My control is in different location in different pages. How can I make sure that the expand and collapse is with respect to the control? I see "left: -36px" in the style attribute of "SettingsContentPanel". How can it be relative and doesn't break the code.
[Code]....
View 4 Replies
Dec 29, 2010
[Code]....
View 2 Replies
Aug 29, 2012
I want to show editor content at literal at button click using jquery. I have editor,literal,button like below.
<cc1:Editor ID="Editor2" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Preview" />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
I show like below.
Literal1.Text = Editor2.Content;
how can i do it using jquery.
View 1 Replies
Mar 9, 2011
I have a page that will display up to 4 videos at a time.. BUT i would like to see if there is any way to calculate and set the width and height according to the number of videos im presenting..
If only one video, i want it to take up the entire width and height of the space i have allocated.. ( say thats 1000w x 800h )
If im displaying 2 videos, then split that space up between the 2 and so on.. keeping the aspec ratio so not to distort the video window..
Right now im hard coding each one 400x300 which looks good when there are 4 laid out on the page.. just want to see how doable is this to accomplish..
View 10 Replies
Jun 23, 2010
I am using asp.net panel control in which I am adding two controls(a literal that contains some text and a checkbox) in code behind.
The code is something like this....
CheckBox checkBox=new CheckBox();
checkBox.ID = "chk_id";
checkBox.Text = "chk_text";
pnl_cityNames.Controls.Add(checkBox); //add check box
pnl_cityNames.Controls.Add(new LiteralControl("Some Text<br>")); //add some text
and to retrieve I am using this code.....
foreach (Control var in pnl_cityNames.Controls)
{
if (var is CheckBox)
{
int abc = 0;
}
}
When I run this code in the debug mood, It shows two added controls
1.)Text="Islamabad" checked=false
2.)System.Web.UI.LiteralControl
This is what the problem I am facing, it should add checkbox in the same manner as LiteralControl. So I am unable to get any condition to be true when I check the var for CheckBox in the foreach loop.
View 5 Replies
Jun 8, 2010
I would like to create a Server Control that change its view by a XSLT.
Something like:
<cc1:MySC ...> myXslt </cc1...>
Do you have tutorial?
View 6 Replies
Aug 13, 2010
I have some logic that loops and adds a new Panel control to another control:
for (int segmentIndex = 0; segmentIndex < segments.Length; ++segmentIndex)
{
holder.Controls.Add(new Panel() { Width = Unit.Percentage(segments[segmentIndex] / segmentsSum * 100), CssClass = String.Format("segment segment-{0}", segmentIndex) });
}
container.Controls.Add(holder);
This works great, but there are a few values that I need to store on each panel within the loop. I need to be able to access these values in both c# and javascript, once the control is rendered on the page. What would be the best way to achieve this? I've used the Tag property before on some controls, but a Panel doesn't have one.
View 2 Replies