MVC :: List Of Models Inside Another Model?
Dec 30, 2010
I've a product model that contains a list of description models. Every description model contains some string values because every product can have a description for every language. Here it is a semplified version of my models:
[Code]....
So my view to insert a new product is like this:
[Code]....
And my PartialProductDescription view is like this:
[Code]....
Now, the views are perfect. With some Jquery UI I have a form with all the product properties and a tab panel with the language descriptions.
Unfortunatelly my POST action with the firm public ActionResult ProductNew(ProductModel model) has all the model property InternationalDescriptions that contain 2 empty models. So if I write something in the form in the first description textarea, model.InternationalDescrtiptions[0].Description is always empty.
So, how I can tell to MVC to take description textarea values and put them in the model?
View 6 Replies
Similar Messages:
Mar 17, 2011
I am trying to load a usercontrol with its own model, how does this work in practice? What I want really is to click on a button in a View which opens up a UserControl in the center of the page but there will be no sending my model to it because the model used on the page does not contain what I want it to display in the control (More detailed, the page is a memberpage and the uc is an admin page for approving images sent by other members). I've messed around with Inheritance but not really gotten any good results from that perhaps im doing it wrong). This is how it looks today:
The Model
[Code]....
The Controller
[Code]....
The Link
[Code]....
The UserControl
[Code]....
The Error
What can I do differently to make this thing work properly?
View 9 Replies
Oct 19, 2010
I'm working on an ASP.NET MVC 2 project with some business entities that have metadata dataannotations attributes applied to them (Validation attributes, Display attributes, etc.).
Something like:
[Code]....
Using the metadata from different views is no problem, as long as I am using my business entities as viewmodels or as part of a viewmodel like this:
[Code]....
However, sometimes I need to code a view for editing some, but not all fields of an entity. For those fields I want to reuse the metadata already specified in my user entity. The other fields should be ignored. I'm talking about custom view models like this:
[Code]....
That's where I am running into problems. The custom view model above leads to an exception when the view is generated, because it has no password property.
The associated metadata type for type 'Zeiterfassung.Models.ViewModels.Users.UserNameViewModel+UserModel' contains the following unknown properties or fields: Password. make sure that the names of these members match the names of the properties on the main type.
Also, even if this exception did not occur, I expect to get into even more trouble with model validation on form submit because Password is marked as required in my business entity.
I can think of several workarounds, but none seem really ideal. In any case I can't change the database layout so that the password field would be in a separate entity in my example above.
How would you handle this scenario?
View 3 Replies
Nov 4, 2010
I have a parent View that uses a few partial views. Each partial view has its own custom model. The parent View is a model containing each of the partial view's model. In other words this parent View model is NOT flat.
How do i get POST data to bind with the parent's model object? Do i have to write a custom model binder?
Update I'm not binding to a collection of objects of the same type (ie: a collection of uploaded files). I'm binding to object that contains multiple of objects. For example:
[code]....
View 1 Replies
Feb 13, 2011
[Code]....
I have put breakpoints and checked all the values are coming in object ma but its not updating......
View 5 Replies
Sep 1, 2010
Is it possible, inside a Custom Model Binder, to fire "something" that "says" the value is invalid so it gets handled by validation part?
Basically, I am getting an exception when the value for the property is invalid.
View 1 Replies
Feb 16, 2011
I am working on the following form: This is a smooth popup, I make it appear through ajax using:
$.get('/UsuariosEmpresa/Create/', function (data) {
$("#AltaUsuarioProtectiveLayer").fadeIn("fast");
$("#PnlAlta").html(data);
});
What is great. And the View for create has the following code:
[Code]....
By now I have this two Save Buttons, Save and btnGrabar, just to test. When I use Save it is sending all the information, but not the values for the "Grupo" and "Empresa" dropdownlists. I am trying to use an Editor Template, but I don't know if is the best way, or is better to make in another way: 2 pages, one for create and one for edit. I have the following ViewModel that I try to use here:
[Code]....
And the dropdown list are in the editor template in this way, they are relation dropdownlist so depending on the Grupo=Group will show the corresponding Empresas=Companies:
[Code]....
And there is the problem I believe. The db diagram for this part is the following: The question are:
a- What is the best way to do this?
b- Is ok to use a template?
c- How should I send the information to save correctly the id_Empresa value?
d- Is ok to use the ViewModels or is better to send all the values as $.post parameters?
e- Is ok the way I cascade the dropdownlist?
View 3 Replies
Oct 26, 2010
So far I've seen demos of MVC that have simple pages, one for login, one for register, one for listing a table. In order to understand better the transition for WebForms developers into MVC patterns, I would like to understand how can I put together multiple CONTROLS (like the one provided by the default MVC project that VS2010 creates for us ...and make it work. OK so as an example, imagine we want to change the LogonUserControl.ascx to allow us to login (so to show UserName and Password textboxes and Logon button) from the Home Page.
1) We update the Control as follow:
2) We update the HomeController.cs file to handle the Logon Button Post event as follow:
We needed to move some code from AccountController to HomeController in order to get the control to work under the Index view. So ...with little luck it seems to work! Now the problem happens when you navigate to the Register view, considering that now we are not any longer on the HomeController "domain" but we are under AccountController. Register page shows perfectly and since the LogOnUserControl.ascx belongs to the MasterPage, it shows too. Since we are not logged yet, it will be displaying the UserName and Password textboxes. But we don't really care about that, because we are on the Register view and after populating the Register values, we click on the Register button. This is the error I get:
>>> To me that I come from the WebForms world, it seems like even if the event fired was the Register button (therefore under the AccountController domain), there is a kind of hidden OnInit event fired for any control on that view, in this case the Logon event. I'm sure this is NOT the case but the real question is... if we are allowed to have only one Controller x view, how can we put together controls that come from different "controller domains" and display them inside a single view?
Could I develop an eCommerce site using MVC that has the home page displaying different controls like [Most Purchased Product, Product of the Month, Special Promotions, Messages Inbox, Company Events ... and each control has it's own button to click and do something (so a proper POST request)] on the home page, unless I only have ONE single Controller which i'm not even sure if it will work or if it would make sense ....since MVC is all about separation of responsibilities.
View 7 Replies
Nov 3, 2010
i have a base controller that looks like this:
[Code]....
and a contact model that inherits from the base model.
the master page inherits form the base model,
nad the contact page inherits from the contact nodel,
but then i get an error while loading the contact page that it expects the contact model but gets the base model?
View 9 Replies
Mar 21, 2011
i have a repository class inside my model folder; this repositiry contains many methods , which are called from Action methods in the controllers; so my question is :- if i have a method insidle my model.reporsitory which calls a stored procedure, then can i call it an "action method"? or "action method" expression only apply to controller methods?
View 4 Replies
Nov 10, 2010
I have a requirement in my application that, while saving the application, need to get all the value from drop down list and pass it to the view model. But application should not allow the user to select more than one item from drop down list manually, ie, only one value at a time. My view model is like ...
public class ListManagement
{
public IEnumerable<selectListItem> InactiveProduct { get; set; }
public string[] InactiveProductSelected { get; set; }
public IEnumerable<selectListItem> ActiveProduct { get; set; }
}
[code]...
View 3 Replies
Jan 18, 2011
Customer(Id,Name),
Phone(Id,CustomerId,Number)
Contact(Id,CustomerId,Name,Address)
In My Form
Customer Name : <Textbox>
Phone : <TextBox> <button> : button to Add More <Textbox> Phone to add multiple Phone
Contact Name : <TextBox>
Address : <TextBox> <button> : button to Add More Form Contact add multiple Contact
View 6 Replies
Jan 19, 2011
in my model there is a List.
public class InvoiceModel{
public int InvoiceID { get; set; }
public int Date { get; set; }[code]...
for create view i can use Html.TextBoxFor(m => m.InvoiceID) and for Date.but how can i fill List?and how can i use global for this list as Shopping cart?
View 6 Replies
Apr 17, 2010
I have a control that's bound to a list property. If I remove elements from that list using javascript and post, then the model gets updated, and the elements get removed.
Unless I remove all the items from the list. Then no names for that property go into the form data, and so the default model binder leaves the model's list untouched. This code from DefaultModelBinder.cs line 572 in the RTM sources makes it clear:
[Code]....
So how do I indicate to the model binder that I do want it to update the list and Ido want the list to be emptied?
View 3 Replies
Apr 29, 2010
I am trying set up a simple dropdown list but I dont seem to be able to get it to bind to the Model. I am using Asp.Net MVC and nhibernate.
My dropdown list is declared like so:
<%= Html.DropDownListFor(model => model.Project, (IEnumerable<SelectListItem>)ViewData["Projects"], " -- Select -- ", new { name = "Project" })%>
I set up the select list like so:
ViewData["Projects"] = new SelectList(projectRepository.GetAll(), "EntityGUID", "Name", editEntity.Project);
This seems to bind the select list to the Dropdown fine, but the SelectedValue is not set.
it shows up as the default --- Select ---
Also when I save this data, the dropdown does not bind to the model, I have to manually set the object like so to save it:
entity.Project = projectRepository.GetById(new Guid(Request["Project"].ToString()));
I believe I have take the correct messures to have this item bind directly to my model. Is there something I am missing here?
View 2 Replies
Feb 3, 2011
I am trying here to find a simple solution to bind an array of elements to a model using the MVC model binder. If I use the @Html.Checkbox helper now, it will generate me something like this :
[Code]....
I should be ok as it manage the checked in state and not checked in. The problem here is when I try to bind it back to the model (something really simple)
[Code]....
In the controller I try to bind it with the UpdateModel()
[Code]....
When I debug, the chk variable in the model is still null. I tried with IList<string>, bool[], IList<bool> nothing seems to make it. Is there any other way to deal with this else than form.GetValues("chk")[0].Contains("true") ?
View 3 Replies
Sep 25, 2010
Classic scenario - Categories, Subcategories and Products tables.
Subcategories belong to a corresponding main category
Products belong to a corresponding subcategory
The problem is that not all products do that. Some of them belong directly to a main category because that category has no subcategories. So if I wish to query those products I have to use a main category field in the products table.
And of course I need a subcategory field in the products table also for those products that do belong to a subcategory.
All that does not seem like a good normalized schema.
Now if I use the Adjacency list model the categories and subcategories tables become one (parentID column) and I only have to use a single CatId in my queries.
View 5 Replies
Nov 28, 2010
I want to pass custom param to my ViewUserControl using custom Model.
1. I have created model
[Code]....
2. I have created custom ViewUserControl
[Code]....
3. I am rendering my custom ViewUserControl and passing new Model
[Code]....
The problem is that I don't know how to get acces to my model instance inside my custom ViewUserControl
View 2 Replies
Dec 1, 2010
I have a class with all different kinds of data members, including a list of strings. When I bind the data to a GridView, I want to be able to separate out the list of strings into different columns in the GridView. These strings are more like flags, there is a max of 3 flags. The list could be empty, if no flags apply, or it could contain only one or two flags. How can I separate out these flags into different GridView columns? Do I need to do it in the OnRowDataBound event?
Current, my aspx code looks something like this. I want to be able to change the ImageUrl of the Image controls based on if the flag is raised or not.
<asp:TemplateField HeaderText="Tax" SortExpression="Tax"> [code]....
View 1 Replies
Dec 29, 2010
I have two model classes:
public class UserModel
{
public Guid Id { get; set; }
public string EmailAddress { get; set; }
public string LoginName { get; set; }
public string Password { get; set; }
}
public class GroupModel
{
public Guid Id { get; set; }
public string Name { get; set; }
public List<UserModel> Users { get; set; }
}
I created a View (Create.Aspx) by inheriting GroupModel class.
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MyApp.Models.GroupModel>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Create</title>
</head>
<body>
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<%: Html.LabelFor(model => model.Id) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Id) %>
<%: Html.ValidationMessageFor(model => model.Id) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Name) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Name) %>
<%: Html.ValidationMessageFor(model => model.Name) %>
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
<div>
<%: Html.ActionLink("Back to List", "Index") %>
</div>
</body>
</html>
It is generating only two fields (Id, Name) in my aspx view. Also I am able to get the form data in the Model class object in Ñ‘[HttpPost]Ñ‘ request which contains the data for ID and NAME field in controller.
[HttpPost]
public ActionResult Create(GroupModel groupModel)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
How can I get the data in List<UserModel> object? I am thinking to Put a List control with checkboxes containing Users. Then catch them using FormCollection object in controller.
View 1 Replies
Mar 5, 2010
For a large fillin form I use the asp.net FormView for the magic databinding to my model. In this model I've a property called Rides (shown below), which exposes a list, which I obviously not want to be replaced entirely. So I made it readonly.
However, this way I can't use the databinding features anymore. Is there a common solution for this problem?
[code]....
View 3 Replies
Feb 18, 2011
i have a list of complex object let´s say: List<House>, inside of a model that i pass to the view.
To render that list i use the Html.EditorFor(x => x.list[i], "PartialView") inside of a div (<div id="editor"></div>). To "add" an item i use an ajax method that return a new partial view of the same type, an append it to the the div.
This way, the new partial it's appended but when i do the post, only the first item (list[0], the one that i pass in the controller to start) it´s bounded, but, the items added via ajax aren´t.
What could i do in this case? i wan't mi list to grow every time i hit the link that calls the ajax method and then take every item and add them to my database. i've followed this tutorials:
[URL]
[URL]
View 6 Replies
Feb 10, 2010
I have the following coding
[Code]....
and call using Java Script
[Code]....
[Code]....
View 3 Replies
Apr 6, 2010
How to focus the textbox which is inside the model pop up extender using vb
View 5 Replies
Feb 3, 2011
I am looking here to find a quick and easy way to bind a list of checkbox list items when the postback occurs in the model. Apparently the common way to do it now seems to do it like this form.GetValues("checkboxList")[0].Contains("true"); It seems painfull and not exactly safe. Is there a way to bind a list of checkbox (that are created with or without an helper in the view) or even an array of data for that matters during the UpdateModel(myViewModel, form.ToValueProvider()); phase which would populate an IList<string> or string[] inside of the model ?
View 4 Replies