Solved

ASP.NET MVC App - trouble getting data

Posted on 2011-09-04
5
404 Views
Last Modified: 2012-05-12
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" %>
<data>
<% 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>
</event>
<% } %>
</data>

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.  

B
0
Comment
Question by:ttist25
  • 3
  • 2
5 Comments
 
LVL 35

Accepted Solution

by:
Miguel Oz earned 500 total points
ID: 36481633
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)
http://code.msdn.microsoft.com/Introduction-to-MVC-3-10d1b098/sourcecode?fileId=41255&pathId=85012416
0
 
LVL 1

Author Comment

by:ttist25
ID: 36481928
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" %>
<data>
<%  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>
</event>
<%  Next%>
</data>

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.  
0
 
LVL 1

Author Closing Comment

by:ttist25
ID: 36481946
Thanks again
0
 
LVL 1

Author Comment

by:ttist25
ID: 36485504
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!
0
 
LVL 35

Expert Comment

by:Miguel Oz
ID: 36486073
No problem, it always work for me to go away for a walk or have a break if I am stuck.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

In an ASP.NET application, I faced some technical problems. In this article, I list them out and show the solutions that I found.  I hope it will be useful. Problem: After closing a pop-up window, the parent page should be refreshed automaticall…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now