• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 436
  • Last Modified:

ASP.NET MVC App - trouble getting data

Hey there,

Not sure exactly the best way to approach this because I don't really know what I'm doing but, I guess that's why I'm here!  :)

Anyway - I have created an ASP.NET MVC 2 Web Application in Visual Studio 2010.  I'm trying to get a working version of the DHTMLXScheduler component on my page using the tutorial located HERE.  The tutorial is in C# but my application has to be in VB (I'll be working with another programmer after he gets back from vacation so I'm trying to pull the load for two weeks).  

So, I have taken the .cs specific bits and translated them using THIS which seems to have worked fairly well because I can get the calendar displayed on my Index.aspx view.  So the first part of the tutorial is working for me.  I've got the view displaying the calendar.

The trouble comes in step 2 which involves getting data to display in the calendar.  To describe the problem behavior - I run the application from the IDE and it starts to load the page but, I get a dialog box that has what looks like the contents of an asp.net server error page.  The following looks like the important bits (I have stripped out some of the tags that were in the dialog box to make it easier for you to read):

Compiler Error Message: </b>BC30451: &#39;foreach&#39; is not declared. It may be
inaccessible due to its protection level.

Source Error:

Line 1:  &lt;%@ Page Language=&quot;VB&quot; Inherits=&quot;System.Web.Mvc.ViewPage&quot; ContentType=&quot;text/xml&quot; %&gt;

Line 2:  &lt;data&gt;

&lt;% foreach (var myevent in Model) { %&gt;
Line 4:  &lt;event id=&quot;&lt;%=myevent.id%&gt;&quot;&gt;

Line 5:  &lt;start_date&gt;&lt;![CDATA[&lt;%= String.Format(&quot;{0:MM/dd/yyyy HH:mm}&quot;,myevent.start_date) %&gt;]]&gt;&lt;/start_date&gt;</pre></code>

So it looks like the problem is somewhere in Data.aspx which contains the following code:
<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage" ContentType="text/xml" %>
<% foreach (var myevent in Model) { %>
<event id="<%=myevent.id%>">
<start_date><![CDATA[<%= String.Format("{0:MM/dd/yyyy HH:mm}",myevent.start_date) %>]]></start_date>
<end_date><![CDATA[<%= String.Format("{0:MM/dd/yyyy HH:mm}",myevent.end_date) %>]]></end_date>
<text><![CDATA[<%= myevent.text%>]]></text>
<% } %>

Open in new window

Any idea where I might have gone wrong?  From googling around I'm thinking I've left something out that the VB needs and C# doesn't but I wouldn't even begin to know what that is.  

There are a bunch of pieces to this and I'd be happy to post anything you might need.

Thanks in advance for any help.  

  • 3
  • 2
1 Solution
Miguel OzSoftware EngineerCommented:
I think the syntax is:
@For Each myevent In Model
   Dim currentEvent = myevent
then use currentEvent to load what ever html your are planning to do for example a link:
@Html.ActionLink("Select", "Index", New With {.id = currentEvent.Id})
Check: (vbhtml is different form cshtml)
ttist25Author Commented:
Thanks mas!  

That got rid of the error.  No data is loading into the calendar but it's not throwing the error.  Here's what I have in Data.aspx now:

<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage" ContentType="text/xml" %>
<%  For Each myevent In Model
        Dim currentEvent = myevent%>
<event id="<%=currentEvent.id%>">
<start_date><![CDATA[<%= String.Format("{0:MM/dd/yyyy HH:mm}",currentEvent.start_date) %>]]></start_date>
<end_date><![CDATA[<%= String.Format("{0:MM/dd/yyyy HH:mm}",currentEvent.end_date) %>]]></end_date>
<text><![CDATA[<%= currentEvent.text%>]]></text>
<%  Next%>

Open in new window

I need to stop looking at it for the night and check that link in the morning.  

Thanks a bunch.  That was a great help.  
ttist25Author Commented:
Thanks again
ttist25Author Commented:
Ugh - I'm such an IDIOT!  Your solution fixed everything.  When I ran the application the calendar was defaulting to July 2010 instead of the current month so the dates I had added didn't show.  

Kick Kick Kick :P

Thanks again!
Miguel OzSoftware EngineerCommented:
No problem, it always work for me to go away for a walk or have a break if I am stuck.
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.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now