MVC :: View Displaying One Model - With Form To Edit Another?
Jul 14, 2010
I am currently working on my first ASP.NET project - a basic blog site. I based it upon the default project in VS and the NerdDinner tutorial. I can create posts, view posts, etc.
I now want to write the mechanism to comment on a post. I created a CommentForm.ascx which allows a comment to be created, and then added
[Code]....
into View.aspx (the page to view a single post). However, this View inherits from the Post model, so this doesn't work. How can I have a view which displays one model (the post) with a form to edit another (the comment)?
I have a page where I have a tab container and four tabs. the problem is on the first tab "manage quote request" I have a Gridview with the quote request general informatin listed and have a template field created with a link button to databind to the formview quote details. the porblem comes in when after I click on the select linkbutton. the Formview loads right. Then Whe I try to click on the edit linkbuttin in the form view I have to click it twice to change the mode to edit.
What I want to achieve is the ID of the property: item.Item.ID to be bound to the ID from the (route)URL. However I can't get it to work. I tried using [Bind()] attribute.
I fixed it now using a hidden field in the form like so:
<%= Html.HiddenFor(model => model.Item.ID)%>
However this feels a bit icky. I'd like to know if there is a better cleaner way of doing this?
Can someone tell me how to edit/update/delete record on the Form View?
i got this on my Update COMMAND :
Code:
[code]....
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, Name = ?, Addr1 = ?, Addr2 = ?, Addr3 = ?, Addr4 = ?, PhoneNo = ?, HPhoneNo =' at line 1
I've been used to decorating data model classes with data annotation attributes, but the purist in me baulks slightly at including purely presentational attributes such as display format here. I am, however, quite happy to keep validation centric attributes here. One good reason I have to continue keeping all annotations etc. in the data model is that my view model aggregates data model classes, e.g.
my ViewModelBase.DetailItem<TEntity> property in the view model is just a reference to an entity class in my data model. If I wanted to move presentational annotations to the view model, I would have to quite radically revise my design to one where I duplicate data model properties in my view model and use an object mapping tool to populate view model objects based on data model objects.
Say I got a domain model as follows: (and my repository expect an instance of this object)
[Code]....
And a view model (which my views are based on)
[Code]....
At the moment I got it like this and have my controller action manually create a new Person object from the PersonModel object before passing it on to the repository, which does not feel right.
So I tried to have PersonModel inherit from Person and pass that to the repository (also tried casting the PersonModel to a Person object first), but that don't work out.
What's the right way to have PersonModel automatically cast to Person? I want to keep this logic as my current structure allow me to keep things really loosely coupled, with the repository layer not having a clue how it's being used.
I have a user requirement to hav the ability to directly edit the gridview without having to click the edit link. I was thinking of showing dropdown lists for each column-to-row so that the user can select the values for each record. Then the table will be updated accordingly (no update link).
Is this possible or do I still need the edit template and specify the item template with the dropdown list?
I have two InlineEditBox.NET controls in a template field inside a GridView. When displayed in the GridView, the first row is OK, but starting with the second row, the controls are automatically displayed in edit mode when the page loads, and I can't figure out why.
I have an entity object as model input in my view. Not sure if it's the best approach, but I use the object references to get values from a related object.Let's say I've got a car entity and a manufacturer entity.Here's how it would look in my view
[Code]....
I've get a nullreferenceexception where the car entitity does not have a reference towards manufacturer. I'd like to output a " " if no manufacturer exists.
I am using a telerik radgrid so there are around 5 columns each column edittemplate contains a control along with a required field validator and also a property called AllowMultiRowEdit is set to true so i am able to multiple rows in edit mode.
If any of the values are cleared the for multiple rows I want only those to be validated on update of that particular row.
So i implemented the Grids item data bound event find each and every validator along with the update button and set a unique validation group.
The above implementation most times but fails at some time. Is there any other way of going about this ?
've created a Search partial view and it works, except for my view model. What i mean is, the partial view sends a string to my ActionResult Method, but only a string, that is not related to the view model that the partial view is built in. If i tell my ActionResult method to receive the view model in which the partial view is built in, it always tells me that i have null values. Here's my code This is my partial view:
[Code]....
Now here is my Model in my MoviesSearch view model:
one thing that has been puzzling me since learning MVC2 is the following case scenario: I have a view which contains two latest news lists, a login form and a signup form. Every example I found on Views and View Models so far has a one-to-one example such as a simple login form etc. But how do I create a model that provides the properties and validation for a login and signup form and manages the data for the news lists. can I pass multiple models in the strongly typed view? When I created one model the form validation would fail as it expects all fields - login and signup to be filled. I am missing some advanced examples or information.
making my first steps with asp.net mvc and I actually create a (very) small website.I have 1 controller : TasksController1 view : Tasks/Index.aspx1 Partial View : Tasks/AvailableSorting.ascx In my controller I have 2 methods :
[Code]....
In my Tasks/Index.aspx, I add my partial view (<% Html.RenderPartial("AvaliableSorting"); %>)
That sounds simple. But, It just doesn't work : the Index return a list of Task and the parial view (should) return a list of string.The index.aspx works perfectly, but the partial view doesn't get the right model ! he gets the model of the Index page (list of Task).
I would like to add a partial view to my view page
The view page contain a mode name "<IEnumerable<JvTake1.Models.VortN>>
And the partial view contain a model name "<IEnumerable<JvTake1.Models.VideoL>>" So, theoretically I think they were suppose to work together but no Can any one guide me how to make it happen?
I am totally a new bee in asp.net mvc. Let me now explain my issue. I have a strongly typed view which inherits from a view model Document. I want to have a partial view in that view itself. My code for this purpose is :
I have a view that is not strongly typed. However I have in this view a partial view that is strongly typed.How do I do I pass the model to this strongly typed view?I tried something like
public ActionResult Test() { MyData = new Data(); MyData.One = 1; return View("Test",MyData) }
In my TestView
<% Html.RenderPartial("PartialView",Model); %>
This give me a stackoverflow exception. So I am not sure how to pass it on. Of course I don't want to make the test view strongly typed if possible as what happens if I had like 10 strongly typed partial views in that view I would need like some sort of wrapper.
When using the "add view" dialog in vwd is there a common practice for presenting any primary key fields as readonly to the user in the view?
By default it appears the user could change the key field value (as it is presented in a textbox) and overwrite data for that record for which the key was accidentally changed to.
Do we have to store the original record's key and then make the key presented as a label and then on the update subtitute the original key value back in for the record? Or is there something simpler?
What will be the best approach for displaying uploaded doc in Model Popup Extender May i have to use JQUERY Model Popup or Ajax Popup Extender will be the best ?
im using gridview to read data from datasuorce(my access) and im editing data using 'enable editing' from smart tag(in design window .aspx), now i want to change the edit text: edit(i hav named it as edit) to 'view' for one particular user whose name:'sunil'?
this is my table(in my access layer and calling this data through datasource of gridview):