Forms Data Controls :: Treeview Error: Bound To XML Source, Data Includes Angle Brackets?
Dec 6, 2010
I have some data which contains angle brackets in some of the fields.Even if properly escaped as <: or > (or even the hex codes), or contained in CDATA, in Visual Studio 2005 ASP.Net, the field data is being truncated at the first angle bracket. If I replace the data with curly braces, it displays fine.Is this a parser defect in the TreeView control? I can use Response.Write and see that the data provided by the XmlDataSource is fine. Example:
<ITReview>
<row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/>
</ITReview>
<ITReview>
<row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/>
</ITReview>
This truncates right after TT Description. If I change to curly braces or parentheses, it displays fine.
I have some data which contains angle brackets in some of the fields.Even if properly escaped as <: or > (or even the hex codes), in Visual Studio 2005 ASP.Net, the field data is being truncated at the first angle bracket. If I replace the data with curly braces
<ITReview><row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/></ITReview><ITReview><row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/></ITReview>
So now I want to use it in view-code but when I put it in angle brackets (<%: or <%=) and put it in head element I got no access to this value. On the other hand when I put it in BODY element everything is ok. My failing example (simplified):
I would like to use this syntax in my UI library, I know how to implement this but I don't know HOW it actually works! I understand that somewhere and somewhat a delegate is created and provided as an argument of the method Content, but can't find any information about this mecanism or technic. Assumed current correct answer : The compiler translates the aspx code below into (symbolic translation for comprehension):
I've been using the Item Inserted event for my data controls, such as details view. I'm wondering if there are advantages to doing this with the data sources instead of the data control. There is a lot of overlap in the events provided by these two types of controls. Are there advantages to using the events raised by the data source instead of the ones raised by the data control itself. Should I be using the events raised by the data source instead of the control used to enter the data?
I have a TreeView that is bound to a XmlDataSource control. I've added some TreeNodeBinding elements to define how I want the XML data to be shown.
I have also added PopulateOnDemand=true to these TreeNodeBindings. However, doing so didn't change a thing and the entire XML tree is displayed. Moreover, the TreeNodePopulate event is not fired on node expand as well.
The first page show up just fine, when i try to go to the second page of the GV i get this errorThe GridView 'GVCreditMemos' fired event PageIndexChanging which wasn't handled.
Error is:- The data source does not support server-side data paging.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NotSupportedException: The data source does not support server-side data paging.
Source Error: Line 34: con.Open(); Line 35: GridView1.DataSource = cmd.ExecuteReader(); Line 36: GridView1.DataBind(); Line 37: con.Close(); Line 38: }
I have Gridview1 that brings up the columns Resorts, Seasons, Seasons_ID, Resorts_ID, and User_ID
The three ID's are all foreign keys from related tables, and they are together a combined primary key of the table being accessed (they were defined that way to prevent duplicate entries for any User/Resort/Season combination).
Now the problem: I want to use the selected row from that gridview in the WHERE clause of a SQLDatasource by setting the WHERE clause up like:
WHERE (([Resort_ID] = @Resort_ID) AND ([Season_ID] = @Season_ID) AND ([User_ID] = @User_ID)) , with the parameters each coming from statements like
Gridview1.SelectedValue
When I select a row in the Gridview, I get the following error:
Operand type clash: uniqueidentifier is incompatible with int
I am pretty sure this has to do with the User_ID being in the WHERE clause.
So I have tried something like this to access the selected index:
Gridview1.DataKeys(Gridview1.SelectedIndex).Value
This does not work, as it seems to return only the first key (of three) in the DataKeyNames list.
So the question: How can I use the SelectedIndex of that gridview for such a purpose when the key contains a UserID?
I would like to know how i could display data from an itemtemplate or any other form views/data-bound controls without having it render in tables? i know theres control adaptors, but is this reliable and will it work with asp.net 3.5?
There was an error executing the query. Please check the syntax of hte the command and if present, the types and values of the parameters and ensure they are correct. Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
But when I run the query through Management Studio, I can get the result.
I have a FormView which contains a table and a TextBox:
<TR> <td>CastomerName:</td>
<td>[code]....
and it works good.I changed the code to have a possibility for changing the row visibility. So, I added the row ID and runat="server". Changes are bolded:
After the runat="server" has been added to the <TR> then Bind() does not work. It reads the field value properly but writes NULL value. So, Bind() does not work or works bad. I tested the following:
1. When runat="server" is removed, than Bind() works good. The text from TextBox control is written to the database as expected.
2. When runat="server" is set and I set a default value in the ObjectDataSource - the default value is written to the database, so it means that path form ObjectDataSource works good and it means that text from TextBoxControl is not pased to the ObjectDataSource.
3. When runat="server" is set then text from TextBox.Text is never written to the database, instead null value is written.
Warning 1 C:UsersBillDocumentsMy Web SitesNausetNewcomersIncludesUtilsToolsWebAdminUsers.aspx: ASP.NET runtime error: Failed to map the path '/Includes/Utils/Controls/alphalinks.ascx'. C:UsersBillDocumentsMy Web SitesNausetNewcomersIncludesUtilsToolsWebAdminUsers.aspx 1 1 C:...NausetNewcomers
This warning is in error as the file is in the structure where it is supposed to be, what is the problem?
I have grid view control that includes a dropdown control in a template field.I wish to execute some code when the value is changed in the dropdown list. Can't figure out how to capture this event though?
I'm having a problem sorting a dropdown that I've bound to a SQL Server data source. I've narrowed the problem down to the fact that I have a static item at the top of the dropdown with the data-bound items appended afterwards. If I remove the static item (<asp:ListItem Value="-1" Text="All" />) the ORDER BY part of the select clause works fine. How can I get around this issue? What I would like is to have the "All" static item at the top of the list with the data-bound items sorted alphabetically afterwards. I'm using Visual Studio 2010 and ASP.NET 4 if it makes any difference.
I am looking for a method to format gridview bound data using javascript.
I know you can have custom formating in Eval using:
[Code]....
But I am looking for a way to perform this task on client side, rather than doing it on the server.
For example if I want to format a date field being bound in a custom way, something like emails date received in gmail. (Only show time if it is today's date [15:30] and only show day and month if it is this year date [14 Jan] and show the full date if it is not this year [10/10/2009].
So, how I use javascript to format a field (ie. custom date format or setting a control visibility)?
I have a gridview, which on the row data bound method that inserts a row when comparing values on a particular field. If the two values are different, a new row is inserted, if not no row is inserted. This coding is working as a grouping gridview, and is working correctly. However, I have problem, and problem is counting the rows between each group, which I want to display in my blank row between each group, the value of which I am holding in a hiddenfield.
When I try to do it, the first group doesn't show the result, but is displayed on the next group. I am pretty sure that I am doing something wrong. My approach is that if the value between the last row and the existing row are different, then the value is one, on the next row data bound event, if the values are the same then the value is increased by one, else the value is one because it is a new group. Here is my code:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { Table tbl = e.Row.Parent as Table; TableCell cell = new TableCell(); CheckBox chk = new CheckBox(); Label lbl2 = new Label(); HiddenField rowValue = new HiddenField(); if (e.Row.RowType == DataControlRowType.Header) { e.Row.Visible = false; } else { if (e.Row.RowType == DataControlRowType.DataRow) { Session["count"] = 1; Label lbl = (Label)e.Row.FindControl("lblValue"); string str1 = ((Label)(lbl)).Text; string prevStr= (string)Session["previousStr"]; if (prevStr== str1) { lbl.Visible = false;...................
I have a web form, and an "add vendor" button. Click the button, a modal dialog pops up (ajax:ModalPopupExtender). User selects one of two radio buttons which shows a data bound asp:View in an update panel - this view is data bound to a single row and must be populated by the user. However I also want to provide a cancel button which should close the modal dialog and reset the bound view.
However what is happening is that the ModalExtender closes, but when the "add vendor" button is presented again, it's still bound to the same data. Do I need to clear my data source? How so I reset the forms/views so that when the 'add vendor' button is clicked again the form is presented as it should be (IE the 2 select options, picking one re-binds the asp:View)?