Server tag is not well formed


I am getting a Server tag is not well formed.  doesn't seem to like my eval expression.

Below is what I have

<asp:HyperLink NavigateUrl="javascript:switchViews( '<%# Eval("TimePeriodId") %>' )" ID="HyperLink1" runat="server" Text='<%# Eval("TimePeriodId") %>' />

Thank you
Who is Participating?
HainKurtConnect With a Mentor Sr. System AnalystCommented:
what about this

<a href='javascript:switchViews("<%# Eval("TimePeriodId") %>" )'><%# Eval("TimePeriodId") %></a>
or this
<a href="javascript:switchViews('<%# Eval("TimePeriodId") %>' )"><%# Eval("TimePeriodId") %></a>

do you really need server side?
I am not sure what you are tyring to do here...but it appears that the error is in your would have to post that code....

also,,if you are tyring to pull a value from the server have use a hiddenfield...
yechanAuthor Commented:

i don't think the error code is inside the javascript.  At this point, I can't even compile without even getting a ""The Server tag is not well formed".  When I remove NavigateUrl=..... compiles just fine.
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

so you need a hiddenfield...on the client side...
 <asp:HiddenField runat="server" ID="sessionDuration" />

------------ the code behind...whatever you want...
 If Session("session_duration") Is Nothing Then
                Session("session_duration") = "20"
    End If
   sessionDuration.Value = Session("session_duration").ToString()


also in client side you need your the head section ...something like this...

  <script language="javascript" type="text/javascript">
    var sessionDuration;
    var showTimer;
    var hideTimer;
    window.onload = function () {
        sessionDuration = document.getElementById("<%= sessionDuration.ClientID %>").value;
        showTimer = setInterval('if(--sessionDuration>0) document.getElementById("<%= Label17.ClientID %>").innerHTML = document.getElementById("<%= attendant_name.ClientID %>").value + " is typing... ";else { clearInterval(showTimer);clearInterval(hideTimer); }', Math.floor(Math.random() * 6000));
        hideTimer = setInterval('document.getElementById("<%= Label17.ClientID %>").innerHTML = "";', 888);

then make sure your code behind is in shape...put a breakpoint on the code behind..and trace/step see where it dies at...most likely you are missing smoething in your code behine...i dont know what 'TimePeriodId' trying to do...
HainKurtSr. System AnalystCommented:

<asp:HyperLink NavigateUrl='javascript:switchViews( "<%# Eval("TimePeriodId") %>" )' ID="HyperLink1" runat="server" Text='<%# Eval("TimePeriodId") %>' />

GlobaLevelConnect With a Mentor ProgrammerCommented:
does this work?
<asp:HyperLink NavigateUrl="javascript:switchViews( '<%# Eval("TimePeriodId") %>' )" ID="HyperLink2" runat="server" Text="<%# Eval('TimePeriodId') %>" />
SAMIR BHOGAYTAFreelancer and IT ConsultantCommented:
yechanAuthor Commented:
Hi HainKurt and GlobalLevel,

I have tried both of your suggestions but to no avail.

The good news though is that if I try HainKurt's suggestion, I get an error message something like this:

Message: Expected ')'
Line: 1
Char: 25
Code: 0
URI: http://localhost:49216/DynmicGridView/Default.aspx

then I looked at the source code and I see the following:

it appears that the < > etc are being escaped by

<a id="MainGridView_ctl02_HyperLink1" href="javascript:switchViews( &quot;&lt;%# Eval(&quot;TimePeriodId&quot;) %>&quot; );">50</a>

Open in new window

yechanAuthor Commented:

yes I do because this code is being used inside a GridView and I have a JaveScript that toggles the visiblity on and off  based on a unique id.
yechanAuthor Commented:
Time to close it out.  Been playing with jQuery and it seems OK.  thanks for all the input.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.