Mvc - Pass Model From Typed View Back To A Controller Action
Aug 10, 2010
I have an MVC application where all the data is tied together by VisitDate table in my database. The home page is a strongly typed view of type VisitDate, all it does is pull up some simple data. Now, here's where I'm having a problem. I need a link that passes the current model in the view back to a separate controller action so I can render a different page with different data. Here are my two controller actions. I'm going from News.aspx to FrontPage.aspx and hopefully passing SchoolVisit. [Code]
I am wondering what I am missing in the attached code that is making it impossible for me to make the VB.NET program below work using MVC (Model-View-Controller). Right now, I am really lost despite my best efforts...
I am trying to implement the observer pattern and think that my code is getting closer to MVC but not quite there yet, firstly because it wont even run ... nevertheless I know that there is someone out there who knows what I am doing wrong and I would definitely benefit from any guidance or help that someone more experienced in MVC VB.NET implementation can give .. hence this letter.
When I click save on the view, the model being sent to the save method of the controller has no values set, they're all default values. I'm actually using the exact same technique from another project... The data is populated just fine in my view, I can edit it and click save, the code enters the SetSiteTerms method in the controller but has none of the data from the view.
Model: Imports System.ComponentModel.DataAnnotations Imports System.Runtime.Serialization <KnownType(GetType(SiteToA))> _ Public Class SiteToA <ScaffoldColumn(False)> _ Public Property ID As Integer = 0 [Code] .....
I've updated my view and controller. Why my model is populated, can be editing in the view but when I post with the save button, the model sent to the controller has no data???
To make this easier I will use a concrete example using movies and genres. A genre can be associated with many movies. Genres can increase over time and so can movies.
The use case is as follows. The user wants to filter movies by selecting his/her desired genres.
So, I have a page where at the top there is a section where the user can pick any combination of genres to filter on using checkboxes. Below that is a list of movies that are in those genres.
In MVC I am trying to implement this using a ViewPage(of IDictionary(of Genre, Boolean)) where the boolean is whether or not a particular Genre has been selected for filtering.
I then go into loop that creates checkboxes for them to select:
<% for each genre As KeyValuePair(Of Genre, Boolean) in Model %> <%=Html.Hidden("genre[" & i & "].Key", genre.Key.ID)%> <%=Html.CheckBox("genre[" & i & "].Value", genre.Value)%>
[Code].....
I am aware this can be done using Ajax and I will most likely do it using Ajax but I would still like to know why this doesn't work.
I made a project where I have a basic DemoController[code]...
I should probably mention that my .aspx file is in another project than the web app. I build everything into a dll then put that into a folder in my web app project. The error I am getting is "The view '~/Views/Demo/Index.aspx' or its master was not found or no view engine supports the searched locations. The following locations were searched: ~/Views/Demo/Index.aspx"
I have built an application a while back and now think that performance would benefit from a MVC approach, so I am looking into that. If I were going to do this, I would need the controller to be able to replace itself. That seemed like it may be a problem, so I created a Hello World application to test it. Here's the
Form1.vb: Public Interface IView Property Controller As a_Controller
[Code]....
I have 2 questions:Will the 'old' controller objects still be in memory? Seems this could be a serious memory management issue after a lot of changes. It was my own decision to implement the factory in a module. My examples did not do this.
I am writing my first MVC application, and struggling with how best to pass data from my controllers to my views. I have a very simple XML document structured like this. (Yes, this is Magic: The Gathering data)
<setlist> <set> <name>Alara Reborn</name> <block>Shards of Alara</block> <cards>145</cards>
[Code]...
But I get an Object Block or With Block error when trying to access SelectSingleNode("block") on the second "set" node, since that node doesn't have a "block" node.I also have a feeling that the way I'm approaching the view is all wrong. Is there a better way to get this simple XML data into the view so I can work with it?
Just started VB programming this week and have found a wealth of information about what I'm trying to do. Problem is, some of it is more complete than others.Here's what I'm trying to do:In Form1 (my main form), I want to instantiate a class that contains a couple of properties (speed setpoint and position setpoint). When I click a button, I want to pass this data to Form2 and populate two textboxes on Form2 with the properties of this object. I want to manipulate the property values on Form2 and click an OK button which closes the dialog and returns the manipulated data, updating the property values of the object. Here's the algorithm I'm following:1) On Form1, instantiate the class2) On Form1's "Pass Data" button click event handler, instantiate a Form2 object and invoke the ShowDialog method, passing the object as a parameter.
3) On Form2, overload the ShowDialog method to accept the object as a parameter and modify the method so that it returns the manipulated class data.4) On Form2, in the ShowDialog method, populate the textboxes with the class data that was passed in.Here's where I get stuck. If I press the OK button on Form2 (DialogResult.OK), it returns me to Form1, but what hook do I have in Form1 to receive the manipulated class data that the ShowDialog method is returning?Here's an example of what I'm thinking about:
Code: Public Class Form1 Dim clsController1 As New MotionController
[code].....
I'm sure it's probably a very elementary question, but every explanation I've found seems to be incomplete.
I am new to .net, I am just taking a shot in the dark through this whole thing. I have an Addresses table with a StateID and CountryID field. They refer to the States and Countries table. I am using LINQ to SQL and Visual Studio 2010.
I have a view model with a property that exposes a collection of things.I have a ComboBox whose ItemsSource property is bound to this collection.Now the user can select from the list.I want to allow the user to clear the selection, so I want to add an item (that is Null) to ComboBox. It's pretty straightforward.
I decided to try and use a CompositeCollection for the ItemsSource so that I could add the items in the existing list to the ComboBox as well as the extra Null item.After fighting with this for a while I decided to return to the documentation on the CompositeCollection Class. I copied their example and the modified it to use a view model instead of Static Resources.
I discovered that no items show up in the list when I bind the CollectionContainer to the list exposed by the ViewModel.I'm not sure how to get around this problem and I'm looking for any advice on this topic.
I have a large number of labels which will be handling similar events and I don't want to have the redundancy of putting the same chunk of code into each sub. What I was wondering is if it's possible to pass the name of my label(s) to another sub that can use this label name to change the forecolor of the respective label based on its value. If so, I would would I go about setting up the sub?
I'm starting to learn ASP.NET MVC and since I work in a VB.NET shop I'm converting an example from C#. I'm trying to implement a strongly typed view and the example I'm looking at shows the following:
I am using the ASP.NET MVC VB.NET XML Literals View Engine created by Dmitry Robsman and described on his blog in this post.
[URL]
I would like to create strongly typed view pages using this view engine, but it doesn't seem to contain the requisite VbView(Of TModel) generic type by which I would create such a view class.
The end result should look something like this:
Namespace Views.Client Public Class Details(Of Models.Client) Inherits SiteMaster
[Code]....
Once there is a VbView(Of TModel) class that inherits from Dmitry's VbView class, how to hook that up so that it works with standard MVC controllers that call the view like this.
Function Details(ByVal id As Integer) As ActionResult Dim c = SomeGetClientFunction(id) Return View(c) End Function
I recently updated an app that I wrote to allow the clients to run the app in read only mode disconnected from the database by serializing the typed dataset, and when they are offsite/offline instead of connecting to the database the serialized dataset is loaded. This has been working great and then I hit a major snag.
A majority of the graphs and reports are based on sql views that are typed views in the dataset. Of course offlline the tableadapters cannot run the sql views.
Does anyone know a way to run/fill the view with the already loaded dataset? I can add rows clientside so I'm inclined to believe there must be some way to fill the view clientside but I've been at this for a number of hours now and not making any real progress.
Let's say I have an edit view that is strongly-typed to a table called "MyData". The view has multiple tabs, each with several different fields from the table. For performance, the data is only loaded when the tab is viewed, so if you only edit a field on tab 1 and submit the form, the data for tab 2 will not be loaded.
The problem I'm running into is on the submit. I'm doing the typical routine of finding the existing record in the database and updating the passed values:
<AcceptVerbs(HttpVerbs.Post)> _ Function Edit(ByVal data As MyData) As ActionResult Using dc = New MyDataContext
[Code].....
However, this method doesn't know which tabs were loaded, so if the tab with "desc" on it is not loaded, this method thinks the user blanked out the "desc" field, and sends NULL to the database.
How can I construct this so that only loaded fields are sent to the database, and unloaded fields are ignored?
I have a 3rd party unmanaged C++ DLL function which takes a string (char *) as one of its parameters then modifies that string internally.[code]...
Currently this code runs without exception, but desc shows 40 spaces when displayed to the messagebox. I've tried StringBuilders, but they don't seem to work. I've also tried changing the 2nd parameter to be ByRef but this causes a read/write memory exception.
I thought make this would make my ada.myString have "working!" on the main appdomain, but it doesn't. I thought that by inhering from MarshalByRefObject any changes made on the 2nd appdomain would reflect also in the original one(I thought this would be just a proxy to the real object on the main appdomain!)?
What's the simplest way to pass a variable back and forth between 2 forms?Let's say I have form1 and form2. Form2 has textbox2 and button2. When button2 is pressed I need the text in textbox2 to display in textbox1 on form1.
I am making a program using Windows Form Application, and I had it set up in the design view. I double clicked a button to begin coding and up popped a ton of stuff in the code view that I had never seen before. I closed that, and somehow closed the design view by accident too. Now I can't get my design view back, even by re-opening the program (I didn't save), and double clicking the form to open it. It opens up as "Form1.vb" rather than "Form1.vb [Design]".What happened, how can I fix this and get my design view back?
Can I pass parameters back and forth between a Windows Service and .NET program? For ex: I want to pass a compressed/encrypted byte paramater to the Windows Service, who then decompress/decrypt it and return back the decompressed/decrypted bytes.
Trying to find some code to assist with accessing a web service. I am a newbie when it comes to web services and don't quite get the whole how to submit the request and then read the results. I know from searches that people request a copy of the WSDL file so I have attached (SystemManagementService.wsdl)
I am in the process of prototyping a small sockets application, which monitors IT infrastructure (due to in-house financial and deployment restrictions, I am unable to utilise an existing commercial or open-source solution). Basically, I have a server application and associated agent process for communicating heart-beat data to the server. The server application implements a TCP socket class (TCPDevice), which is called from a WinForm. I am aware of the restriction on updating the UI from processes running on separate threads, and that the preferred technique for acheiving this is via the use of Delegates in conjunction with the Invoke method. Having had very little need previously for using Delegates (apart from of course std windows events and the BackGroundWorker control), I am at a loss as to how to do this in the context of my application, and would appreciate some assistance, although it has occurred to me that I could use the backgroundworker for marshalling updates to the UI.
Eventually the application will need to update a grid of devices via feeds from the defined agents, however for the purpose of this exercise simply updating a status bar on the UI will suffice. The section of the code which I believe is relevant to propogating the code to the form is contained in the OnDataReceived method.Below is a code excerpt from the protoype app which should put the above into appropriate context:
MVC 3. VB.NET application.. I am trying to pass a id along to keep track of which record a file name needs to be saved in.. The problem is that the id is getting passed into the view but on post back to the controller it is being lost...I have hammered on this for hours now and I am stuck...