MVC :: Pass Model Bind Collection From One Controller To Another?
Apr 17, 2010
How to pass model bind collection from one controller to another?
I have this model class,
Public Class Sports
Private _SportsID As Integer
Private _SportsName As String
[Code]....
View 3 Replies
Similar Messages:
Dec 21, 2010
I am creating one Json array object and trying to pass it in MVC controller action method but i am getting null paramerter; as per my knowledge json only maps .net primitive datatypes.... so it assign null value.
Note: when i have look at request object i found that there are three parameter of created array. But how to get that value as parameter of function?
View 2 Replies
Oct 8, 2010
How Can I Pass data(not the part of model) to Controller from View? View Code
[Code]....
View 4 Replies
Mar 23, 2010
What I'm trying to do is rather basic, but I might have my facts mixed up. I have a details page that has a custom class as it's Model. The custom class uses 2 custom objects with yet another custom object a property of one of the 2. The details page outputs a fair amount of information, but allows the user to post a comment. When the user clicks the post button, the page gets posted to a Details action that looks something like this:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Details(VideoDetailModel vidAndComment) { ....}
[Code]....
The only fields on the form that is posted are CommentText and VideoId. Here is what the VideoDetailModel looks like.
public class VideoDetailModel
{
public VideoDetailModel()
{
[Code]....
I suppose if I added more form fields for the properties I need, they would get posted, but I only need 1 form entry field for the CommentText. If I could get the same Model objects value that were sent to the page to post with the page, it looks like the solution is rather simple. I think using the RenderPartial in the middle of a form is problematic somehow to how the form gets written in html. I can't really put my finger on why things went bonkers, but if I do my RenderPartials before my form and then begin my form with the text entry field and the hidden VideoId, the default ModelBinder works just fine. I was beginning the form, writing the hidden VideoId, rendering several partial views, create my CommentText field, and then closed the form out. The CommentText field would get bound just fine. The hidden VideoId would not. Maybe I missed a rule somewhere about using RenderPartial.
For completeness, the partial view I was rendering took a Comment object and just wrote out it's CommentText data. Several of these objects would exist for a single Video object. All of this data was in a custom type and passed into the View (the main view) as it's Model. This partial view did not have a form and did not have any data entry fields.
View 2 Replies
Jul 26, 2010
I have a list of objects that I want to bind to a gridview. Creating that list and binding it works fine for most of the public properties in that list.
There are some objects contained in each of those objects... for instance there is an Address object.
object.Address.Line1;
object.Address.Line2;
When I bind this to my gridview, I have no issues with stuff like object.DateRegistered, but how can I access things like object.Address.WhatEverProperty? I always get this error:
"A field or property with the name 'xxx.xxxx' was not found on the selected data source."
View 7 Replies
Dec 28, 2010
I am trying to make a post that should use the Default Model Binder functionality in ASP.NET MVC 2 but unfortunately I can't get through. When I click on the checkout button I populate a form dinamically using jQuery code and then submit this form to the server. This is the form that get submitted
<form action="/x/Order/Checkout" id="cartForm" method="post">
<input name="__RequestVerificationToken" type="hidden" value="UDjN9RdWheKyWK5Q71MvXAbbDNel6buJd5Pamp/jx39InuyYIQVptcEubIA2W8DMUzWwnZjSGkLspkmDPbsIxy8EVuLvfCSZJJnl/NrooreouptwM/PaBEz2v6ZjO3I26IKRGZPqLxGGfITYqlf8Ow==">
<input id="CustomerID" name="CustomerID" type="hidden" value="1">
<input id="FirmID" name="FirmID" type="hidden" value="2">
<input type="hidden" name="CartItems[0].ServiceTypeID" value="1">
<input type="hidden" name="CartItems[0].Quantity" value="1">
<input type="hidden" name="CartItems[1].ServiceTypeID" value="2">
<input type="hidden" name="CartItems[1].Quantity" value="1">
</form>
This is the jQuery code that handle the submit event for the form
$("#cartForm").submit(function (event) {
event.preventDefault(); var form = $("#cartForm");
var panel = form.parent(); panel.parent().block();
$.ajax({ type: "post", dataType: "html",
url: '<%: Url.Content("~/Order/Checkout") %>',
async: false, data: form.serialize(),
success: function (response, status, xml) { panel.parent().unblock(); },
error: function (response) { panel.parent().unblock(); } }); });
This is the controller action that should be get called
[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Checkout( CartModel cart ) {
} And finally this is the CartModel class involved
public class CartModel : BaseModel{
public int CustomerID { get; set; }
public int FirmID { get; set; }
public List<CartItemModel> CartItems { get; set; }
public CartModel() { CartItems = new List<CartItemModel>();
} } public class CartItemModel : BaseModel
{ public int ServiceTypeID { get; set; }
public int Quantity { get; set; } }
But the default Model Binder does not bind the web form data to a CartModel class. Using Fiddler I have been able to see that the data sent to the server is correct as you can see from the following snapshot.
View 1 Replies
Aug 16, 2010
I have a simple model where a Person has Gifts. I have a view which is a list of Gifts belonging to one Person.
My problem is with the Create action for a new Gift. I want it to default to the PersonID that we are already viewing the list of Gifts for. I tried simply passing the last PersonID (they are all the same)
Html.ActionLink("Create New", "Create", new { id = Model.Last().PersonID }) which works fine if there is already at least one Gift for that person but if this is the first Gift I don't have a value.
My Gift List controller knows the PersonID I want to pass but the view doesn't.
How do I pass this PersonID from my Gift List controller to my Gift Create controller via the Gift List view? Or is there a better way to do this?
View 2 Replies
May 19, 2010
I'm building an MVC 2 RTM app, and I want to be able to share my model across applications. I'd *like* to be able to implement it like:ASP.NET MVC2 app (holds Views and Controllers)Class library to hold Model(s)WCF app to handle the data transactions with the models via different data stores across apps I had the MVC app working fine, but I wanted to abstract the data stuff and be able to work with the model across apps through the WCF site, so I created a class library project and moved all of the Models classes into that and set-up a WCF app, then added project references to the MVC and WCF apps that point at the class library. The idea was I can create services that take and return objects from the model via method calls across apps. It appears that everything's wired up correctly in the MVC project, so I'm passing the objects stored in the Models class library between controllers and views and everythig is compiling just fine, but for some reason the data is not being passed back from the views to the controller on POST -- all of the properties in the classes are null or empty.
When I debug the app, I can see that the values are stored in the model data dictionary but not the model object itself. What am I doing wrong? Am I on the wrong path, or missing something obvious (to some)?
View 2 Replies
Oct 22, 2010
I have an ASP.NET MVC2 application that supports visualization plug-ins/providers. The IVisualization interface is defined in a common assembly which is referenced by both the ASP.NET MVC2 app, and any visualization providers.
In the Visualization controller, I have a method which returns all the applicable visualizations for a given set of data. In order to scan the available providers, I use the following code in the controller's ActionMethod.
var catalog = new DirectoryCatalog(HttpRuntime.BinDirectory);
var container = new CompositionContainer(catalog);
var visualizations = container.GetExportedValues<IVisualization>();
However, I feel like if I have the following in the controller
[ImportMany] public IEnumerable<IVisualization> Visualizations { get; set; }
then the import should happen automatically. What am I missing that prevents the automatic imports?
Also, is the code that I am currently using going to kill scaling of website?
View 2 Replies
Jul 14, 2010
I need to bind a bunch of properties over my model entities. All of them uses the List<T> class. I already managed to write a model binder that can treat individualy types derived from that class, but i can't set the value of this property on the model. every time i check the model afer the bind process i see a list with 0 itens.
Here's how it runs.
After i post the values the model binder catchs up the types for bindingAt the custom model binder i check if this property is a List<T> typeIf it is then i perform the bind like it have to be, if not i let the default binder do the job.Finally i return the object binded. What happens next is the issue i've mentioned "i see a list with 0 itens" on the Model property.
Here is the code of Custom Model Binder:
[Code]....
View 1 Replies
Sep 14, 2010
I have been trying to design a form, which uses a view model that contains an object array. I want to set up this form so that when the submit button is clicked, all the members of the array are updated. Here is my code:
The class definition of the array element:
[Code]....
The problem is that when I clicked the submit button, none of the luSubject objects in the array Subjects got updated. But if I set up some initial values for the members of the luSubject objects, for instance, set the Name field to be "Maths" in the constructor of luSubject class, then it got displayed on the text box when the form page was loaded. This suggests that this form could display the data in the array, but cannot update it.
View 8 Replies
Jul 22, 2010
i am creating a MVC2 application for pubs and bars. I have a model 'Opening_Time' with the following properties:
int Day,time OpeningTimetime ClosingTimeWhen adding/editing an Opening_Time, I want to validate an Opening_Time, to check the user isn't adding one for an existing Day (ie they can't have two entries for the same day).
How/Where is the best place to do this?
Preferably, I want to do it a Model level, so I can use Model.IsValid and the Html.Form helpers
View 3 Replies
Feb 25, 2011
This is part of a larger problem which has plagued me for a while now (see "EntityCollection already initialized" error with entity as model in Asp.Net MVC? for the entire picture).
But I found a web site with someone who had faced a similar problem and apparently solved it for his needs [URL]. I tried it, but had to make some modifications to fit my code, and the helper methods supplied by a tutorial by Steven Sanderson (see previous post).
I'm very close it seems, but not quite:
UpdateModel(consultant, "Consultant");
if (vm.Programs != null) //Unnecessary? Can it even be null if it's initialized from the model?
for (int i = 0; i < vm.Programs.Count; i++)
{
Program formProgram = vm.Programs[i];
Program modelProgram = consultant.Programs.SingleOrDefault(x => x.Id == formProgram.Id);
if (modelProgram == null)
_repository.AddProgram(formProgram);
else
modelProgram = formProgram;
UpdateModel(modelProgram); //Doesn't work. The modelProgram object does get updated with the correct property values, but it isn't saved to the repository...
}
_repository.Save();
Although this follows the example on the site above, and the modelProgram does get updated with the changed properties, these values are not saved to the database on _repository.Save() on the Consultant object, even though the modelProgram object is a reference to a Program object on the Consultant... What am I doing wrong?
I am using the Entity Framework by the way, if it isn't clear.
(BTW, if anyone has any input on the previous question and the whole picture, that would be welcome too, it is still unresolved).
UPDATE: There was apparently a mistake in here: UpdateModel didn't actually do any updating, I had just referenced a different object (the one in the viewmodel) for the modelProgram, so of course it had the right property values. I still want ideas for how to achieve this though...
View 1 Replies
Jan 20, 2010
how do I bind a DataGrid to a collection? (e.g : List ). i used this :
Datagrid dg = new Datagrid();
dg.DataSource = myCollection;
dg.DataBind();
but after this, the Datagrid still doesn't display the data from the collection.
View 5 Replies
Jan 4, 2011
Note: I'm working with MVC3 RC and Razor views.I've got this model:
[Code]....
I want to have a strongly typed create view for this model, that allows you to insert 1 to many addresses and phone numbers as part of the view. Ideally, the Action is strongly typed as well:
[Code]....
What would this view look like to facilitate creating 1 to many Addresses and PhoneNumbers, as well as having the state re-created correctly if the ModelState fails when posting? I've tried a number of variations including EditorTemplates and can't figure out how to do this.
View 1 Replies
Jan 20, 2010
How to set the model for the particular controller from another controller ?
View 1 Replies
Dec 27, 2010
i have vreater a class model for login
public class LogOnModel
{
[Required(ErrorMessage="*")]
public string username { get; set; }
[Required(ErrorMessage = "*")]
[DataType(DataType.Password)]
public string password { get; set; }
public bool rememberme { get; set; }
}
and created a view from controller
public ActionResult LogOn()
{
return View();
}
[HttpPost]
public ActionResult LogOn(string Username, string Password, bool RememberMe)
{
if (!string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password))
return RedirectToAction("Index", "Home");
else
return View();
}
my view
<% using (Html.BeginForm())
{ %>
<div>
<label>username</label>
<%: Html.TextBoxFor(m=>m.username) %>
</div>
<div>
<label>password</label>
<%: Html.TextBoxFor(m=>m.password) %>
</div>
<div>
<label>Beni Hatırla</label>
<%: Html.CheckBoxFor(m=>m.rememberme) %>
</div>
<div>
<label></label>
<input type="submit" id="button" value="Login" />
</div>
<div id="LoginError">
<%: Html.ValidationMessageFor(m => m.username)%>
<%: Html.ValidationMessageFor(m => m.password) %>
</div>
<%} %>
but password textbox type does not include password charecters as(***). and not Html.ValidationMessage for empty textboxes.
View 4 Replies
Apr 22, 2010
i need to implement edit functionality for my model. among other fields my model contains record id in the database. when my controller is called i need to update the database record with the same id as the model using the fields in the model.
here is my controller:
[HttpPost]
public ActionResult Edit(MyModel m)
{
var r = my_datacontext.MyTable.SelectSingleOrDefault(x => x.id == m.id);
if (r != null)
{
r = m;
my_datacontext.SubmitChanges();
}
}
this does not work because m does not get added to the datacontext's ChangeSet. why? i fixed this by changing the signature of my controller action to receive FormCollection instead of the model, and by invoking UpdateModel manually. i think this is not the right way to do it.
View 2 Replies
Mar 31, 2010
In my view I have a call to Html.RenderPartial("Products", Model.Products)
But it does not like that. Products is a linq to sql relation on Category (I am using the northwind database).
View 10 Replies
Feb 8, 2010
In MVCs with which I have worked, the Controller has the job of co-ordinating a number of views, consequent to some user action against the model.
However in ASP MVC, there never appears to be more than 1 view resulting from an http request (please correct me if I am wrong). Instead the "Controller" in ASP MVC appears to be a URL Routing Target.
Also, in my (admittedly limited) experience, the Model in MVC is intended to be a model of the problem domain of the application. However in ASP MVC, the "Model" appears to be a model of the
data binding of the corresponding view.
View 3 Replies
Mar 31, 2011
Why is a null parameter being passed to the following controller action?
public FileContentResult GetImageForArticle(ArticleSummary article)
{
if (article == null || !article.ContainsValidThumbNail()) return null;
return File(article.ThumbNail, article.ThumbNaiType);
}
from the following partial view:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<AkwiMemorial.Models.ArticleSummary>>" %>
<%if (Model.Count() > 0) [code]...
View 1 Replies
Jun 22, 2010
Has anybody figured out a way to separate the dependency of the view/controller from the model. In other words, model is independent of the view/controller in asp.net MVC but has anybody also taken out dependency of the view/controller from model as well?
View 4 Replies
Oct 6, 2010
I've been going at this for several hours and I simply cannot find the solution.
I want to get some data from my user. So first, I use a controller to create a view which receives a Model:
[code]...
The rest of this controller does not matter since no matter what I do, the count attribute of Request.Files (or Request.Files.Keys) remains 0. I simply can't find a way to pass the files from the form (the Model passes just fine).
View 2 Replies
Mar 18, 2011
returning a partial view from a controller with different model than my main View. For example:
blic ActionResult Index()
{
//myModel - get Some Types
return View(mymodel);
}
[code]...
View 1 Replies
Mar 24, 2011
I am using the Nhibernate with MVC. In the controller i am getting the model from the HttpSession. How can i set the model from controller Unit testing method.
View 1 Replies