Using DataBinding 'Eval' expression in HyperLink 'NavigateURL' property. Appends loads of ASCII 'space' codes onto the end!

Hi,

 Using ASP.NET 2.0, I am working with an ItemTemplate inside a DetailsView.

<ItemTemplate>

<asp:Label ID="lblPollURL" runat="server" Text='<%# Eval("URLPath") %>'></asp:Label>

<asp:HyperLink ID="lnkPollURL" runat="server" NavigateUrl='<%# Eval("URLPath") %>'>Go to</asp:HyperLink>

</ItemTemplate>

The label renders just fine, and produces the result 'jonathanshomepage'.

However, the HyperLink NavigateURL results in 'http://localhost:3205/website/jonathanshomepage%20%20%20%20%20%20%20%20%20%20%20%20'

Of course, I would expect the URL stuff to be prepended on the front, but I don't know why all these '%20's are being appended onto the end. I have only put a few of them here to illustrate the point, whereas it actually produces many more than this.

%20 is the ASCII code for a space. So why are all these spaces being stuck on the end here?

Any help much appreciated. This is maddening! I could maybe get round it by programmatically setting the NavigateURL property of the HyperLink (during the 'ItemCreated' event, perhaps?), but I'd rather not have to do this.

Thanks...

0
Holf
11/4/2006 3:43:29 PM
asp.net.presentation-controls 72751 articles. 3 followers. Follow

5 Replies
1511 Views

Similar Articles

[PageSpeed] 59

Well, I worked out what the problem was. I counted the spaces because I wondered if the quantity would lead to any clues. Sure enough, I found that in total, including non-space characters too, there were 256 characters altogether.

I was using NVARCHAR(256) as the underlying DataType in SQL Server 2005 so wondered why a full 256 character string was being passed back.

Then I looked again, and discovered I'd used an NCHAR(256) instead of an NVARCHAR(256). So... my mistake all along!

Still, I am wondering why the Label control rendered correctly. Are spaces automatically trimmed in some way for this?

 

0
Holf
11/4/2006 5:17:48 PM

I was using varchar(200) and had this problem.  Change it to nvarchar(200) and still have the problem.  Are you sure this is what fixed your problem?

0
mtsonic
12/23/2006 4:48:26 AM

Hi,

Yes, absolutely sure this fixed the problem. I changed from 'NCHAR' which is a fixed size data type to 'NVARCHAR' which is a variable sized data type and that cured the problem.

You were already using a variable size datatype (VARCHAR) and changed it to another variable size datatype (NVARCHAR). As you were already using a variable size datatype I don't think it can have been this that caused you the problem.

0
Holf
1/11/2007 12:14:04 AM
I think way back this field was ntext data dype and was changed to nvarchar which left the spaces in the text string.  I just removed the spaces.
0
mtsonic
1/21/2007 1:33:59 PM
Maybe you could RTRIM it? Or should that be LTRIM....
0
Energizeer
1/21/2007 2:09:01 PM
Reply:

Similar Artilces:

''''''''''''''''''''
Name: haznen Email: haznenatyahoodotcom Product: Gran Paradiso Alpha 8 Summary: '''''''''''''''''''' Comments: '''''''''''''''''''''''''''''''''''' Browser Details: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20061204 UGES/1.7.2.0 GranParadiso/3.0a1 From URL: http://www.mozilla.org/projects/granparadiso/ Note to readers: Hendrix gives...

'''''
Name: mario Email: ramar17atfastwebnetdotit Product: Gran Paradiso Alpha 2 Summary: ''''' Comments: K: Browser Details: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a2) Gecko/20070206 GranParadiso/3.0a2 ...

'do' won't 'do' if '/'
Greetings to All from Au, Have a NetWare Perl 5.8.4 and wanted to tweak File\Spec\NW.pm to try and standardise on '/' separators. If I run a test script (t/uni/lower.t) with an unmodified NW.pm, it calls t/uni/case.pl, that, in case.pl, (when the path separators are '\'), the $file is '..\lib\unicore\To\Lower.pl' and the following code portion works, with $simple getting a returned table: sub casetest { my ($base, $spec, $func) = @_; my $file = File::Spec->catfile(File::Spec->catdir(File::Spec->updir, "lib", &qu...

'''
Name: L Lachowsky Email: e2brutus_10atyahoodotcom Product: Firefox Summary: ''' Comments: why duddn this surprise me... I change default server from IE to Mozilla, and then i get error messages. well, shud I decide to not get on my computer with Mozilla..or shud I risk security breeches with IE....hmmm at least i can get on the internet with IE Browser Details: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 From URL: http://hendrix.mozilla.org/ Note to readers: Hendrix gives no expectation of a response to this fee...

Cast from type ''''DBNull'''' to type ''''String'''' is not valid.
How do I avoid getting this error: Cast from type ''''DBNull'''' to type ''''String'''' is not valid. I am trying to get values from the database into a form for updating using a Datareader, SQL is set to allow nulls for certain fields as they are not required but the only way I can get the form to display is by adding a space in SQL. Is there another way around this? Check if it is equal to DBNull.Value first and if it is, don't do the cast.Stanley Tan theSpoke Blog Where in the code does it need to go? I am using the following and it's the profile that isn't always requi...

table_info('','','','%') cannot return any types
I was recently confirming table_info special cases and discovered the case for getting table_types cannot work. table_info('','','','%') should return a list of table types but it returns a list of empty strings instead: my @types = $h->tables('', '', '', '%'); print "all types:\n", join("xxx\n", @types), "\n"; # should output something like: # "dbo" # "INFORMATION_SCHEMA" # "sys" # and actually outputs: xxx xxx It seems to be down to the following ...

'b'..'a'
Hello. I'm using defferent 5.6.0's for Win32. I wonder wheter following behaviour is intentional or not: d:\>perl -e "print 'b'..'c'" bc d:\>perl -e "print 'b'..'a'" bcdefghijklmnopqrstuvwxyz I expected empty list in latter case, like in perl -e "print 'bb'..'a'" <!ENTITY Vadim REALLIFE "Vadim V.Konovalov, St.Petersburg, Russia"> &Vadim; On Wed, Sep 20, 2000 at 03:14:41PM +0400, Konovalov, Vadim wrote: > Hello. > > I'm using defferent 5.6.0'...

'or' or 'union'
Hello I was just wondering, in general what is better to use, an 'or' clause in a select or a 'union' to join two selects together. Do both statements create work tables? Many thanks Alex I think OR will be better than union. because suppose u have 3 tables and using OR u can join table a and table b and table c so each table will have only one read. but using union you will join table a and table b and in another query of union u will use table (a or b) and table c so ur one read is more in union . Ramdas Alex Cheung wrote: > Hello > >...

'IN' Clause or 'OR'
Hello, [1]: select * from TABLEA where COL1 IN('value1','value2''valu3'....) [2]:select * from TABLEA where COL1 = 'value1' OR COL1= 'value2' OR COL1='valu3'. TABLEA is a huge table and it has non-clustered index on COL1. Among the above 2 queries, which query will give me the better performance or fast response and WHY? What is the difference between 'IN' and 'OR' clauses as for as Sybase Optimization is concerned. Which is the better one to be used on huge tables. Thanks. Mac An IN list is treated ...

Using '[' and ']' characters...
Has anyone come across the following problem when using PD7.5 on SQL Server 2000? PD7.5 does not generate the '[' and ']' characters for stored procedures. Example: CREATE PROC P_Test AS SELECT A AS [Column A] FROM A_Table Generated script: CREATE PROC P_Test AS SELECT A AS Column A FROM A_Table Thanks in advance, Aiden That's interesting. In 7.5, if I put [[Column A]] in the procedure definition, I get [Column A]. In 8.0 it works correctly. -- Michael F. Nicewarner [TeamSybase] mailto:psyclo@datamodel.org http://www.datamode...

HOw to use __doPostback('','')?????????
Hi i use the window.open() javascript function, then i want to use the __doPostback('','') javascript function to force the page post back , so that i can use the parameter pass from the child window in the page.ispostback event. but i try to use __doPostback('','') in my 1.1 .net framework, nothing happen????? how to use the __doPostback('','') or how to let the page have .postback event?SelfConfident is get from the Xperience You need to use the server-side function: Page.GetPostBackEventReference and tell it what control's event you want to fire. The __doPostBa...

'use' and 'require'
------_=_NextPart_001_01C35AB9.4ADA5CA0 Content-Type: text/plain Hello all, Is there a way to 'variablize' the version for a 'use' statement. This way, if I wanted to change version I could only change it in one place with those changes cascading across all apps. Usage would look something like this: use $perl_version; Thanks in advance, Jason Allison Principal Engineer ARINC Incorporated Office: (410) 266-2006 FAX: (410) 573-3026 ------_=_NextPart_001_01C35AB9.4ADA5CA0-- Allison, Jason (JALLISON) wrote: > Hello all, > > Is there ...

'Value' should be between 'minimum' and 'maximum'.
I'm attempting to invoke with parameters:  Dim thing2 As New mydelsubPBStep(AddressOf pbStep) Me.Invoke(thing2, "setMax", dt.Rows.Count)      <---- this is where the error occurs   the delegate looks like this: Private Delegate Sub mydelsubPBStep(ByVal mode As String, ByVal value As Integer)   the function it's calling looks like this:Private Sub pbStep(ByVal mode As String, ByVal value As Integer) Select Case mode.ToLower Case "clear" ProgressBar1.Value = 0 Case "step" ProgressBar1.PerformStep() L...

'To', 'CC', & 'BCC'
Name: Dick Tracy Email: philipdottracyatoptusnetdotcomdotau Product: Thunderbird Summary: 'To', 'CC', & 'BCC' Comments: I have just started using Thunderbird and while I find it quite excellent- I suggest having a button to add addressees to 'BCC' as well. Currently each 'BCC' addressee has to be selected manually. I send e-mail to quite a number of people at a time and I do not wish to readily spread others addresses easily. Browser Details: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0....