MVC :: Binding Controller & View Without ViewData?
Feb 13, 2010
I like ASP.NET MVC, because I like to have direct access to my web site's structure. However there's 1 thing that I don't like.
In Ruby on Rails to send data from Controller to View is really easy:
# Get a user in controller
@user = User.first(:id => 1)
# Display him in a view
<%= @user.id %>
In ASP.NET MVC it's much harder
// Controller
User user = new User(1);
ViewData["user"] = user;
// View
<% User user = (MyNamespace.User)ViewData["user"]; %>
<%= user.Id %>
With this ViewData thing all benefits of static languages go away, and we waste time boxing/unboxing objects.
P.S. Don't tell me to use Model object, because this is also true for other variables like integer.
And another question:
I'm trying to implement a comfrtable access to data. Since I can't use LINQ to SQL as I use Postrgresql, I have to do it on my own. I'm tired of direct SQL queries, so I'm trying to implement something like this:
User user = User.Find("first_name" => "Bob");
View 4 Replies
Similar Messages:
Feb 13, 2011
I want to pass a message from the controller to a view using Viewdata. Here is my code:
public ActionResult Create(FormCollection createPage)
{
try
{
......................
ViewData["Message"] = "Success - rec added!!!!" ;
return RedirectToAction("Index");
}
catch (Exception e)
{
ViewData["Message"] = "Exception: " + e.ToString();
return RedirectToAction("Index");
}
On my View I have:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>::><%: ViewData["Message"] %><::</h2>
<h3>==><%= ViewData["Message"] %><==</h3>
<p>
This is Index.aspx page in Controller folder
</p>
</asp:Content>
I am getting result with empty ViewData["Message"]
View 4 Replies
Mar 18, 2011
I am new to MVC3 razor and facing one issue as described below. I have one strongly typed view to display list of items and user can edit the view. When user click on a print button a popup should open to print the list . So I have to pass the current view to the popup page.
We can pass a single value as like to popup screen as "window.open('@Url.Action("ViewName", "ContollerName",new {id="ParameterValue"})'.
Is it possible to pass the current view to to popup window as a parameter like new {id="Parameter"}) ?
View 5 Replies
Mar 23, 2011
I have 2 points for today I. I have a controller in which i have a public static method for getting the details for a checkbox like
[code]....
is it ok for me to use this same function like this one in the view, so that I do not need to use the viewdata object,
<%: Html.DropDownList("country", new SelectList(UserController.GetCountryLists(), "value", "countryname", "0"))%>
Also i have another query, when i use the same id & name for the radiobuttons, validation at the client side is working fine.If I use the same condition for a group of checkboxes, i get do not get the checkboxes highlighted during client validation and only during server validation, i get the error message, but the controls [checkboxes] do not have a red border indicating the error.I have used my own html helper to generate the checkboxlist as per [URL].
View 1 Replies
Nov 29, 2010
Is it possible to change Properties of ViewData.ModelMetadata in Controller?. For example, can I do the following to change the display information of the LogOnModel:
[Code]....
When I do that there is no errors but DisplayName is not change. I'm trying to localize strings to different languages and also to make some attributes of the model different depending on users roles.
View 7 Replies
Jan 26, 2010
[Code]....
.aspx View:
[Code]....
How to bind a dataSource property of the grid to ViewData["Data Source"]?
View 3 Replies
Dec 9, 2010
I'm trying to display an image from the database depending on the month of the year.
The image is the sites logo and is displayed in the master page.
I cannot get the image to display on any pages except DisplayLogo.aspx and the master page when viewing DisplayLogo.aspx
i've attached all revelant code below:
[Code]....
View 5 Replies
Mar 11, 2010
I keep getting this error and i just can't figure it out:
The ViewData item that has the key 'CampaignId' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'.
My Controller:
//show empty form
[AcceptVerbs(HttpVerbs.Get)]
public ViewResult Index(int? CampaignId)
[Code]....
I do need to have "CampaignId" in there because I'm populating some "partial views' based on this "CampaignId" that is selected (drop down)
View 3 Replies
Jul 15, 2010
I am using HTML dropdown list and binding it from ViewData ,but how i can get selected value in controller.
<%=Html.Dropdownlist("ViewDataName")%>
we have define viewdata in controller.it is fetching data in dropdownlist but i am not able to get the selected value so that i can add that value.
View 1 Replies
May 3, 2010
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).
View 3 Replies
Oct 27, 2010
"When a partial view is instantiated, it gets its own copy of the ViewDataDictionary object that is available to the parent view. The partial view therefore has access to the data of the parent view. However, if the partial view updates the data, those updates affect only the partial view's ViewData object. The parent view's data is not changed."Is there a common way around this? For instance I have a View containing two Partial Views (User Controls) that source the same data from the Parents ViewData. The first Partial View is able to update (add/delete) certain data from the Parents View Data, however the second Partial View sources the same data but obviously isn't reflecting the changes owing to the above MSDN statement.
View 4 Replies
Jul 16, 2010
I have the following code in my post action method for Edit.
JobCardService.Update(viewData.JobCard);
var js = new JavaScriptSerializer();
ViewData["Notifications"] = js.Serialize(new {NoteificationType = "Success", Message = "The installtion was successfully updated"});
return RedirectToAction("Index");
However, on the client, ViewData is null/empty, i.e. this client code
var notifications = eval("<%= ViewData["Notifications"]%>");
renders as
var notifications = eval("");
I'm sure I'm doing something small wrong.
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
Jun 29, 2010
I created a base Controller for the other Controllers to derrive from, and in that controller I overrode the OnActionExecuting method so that each time any Controller executes a method, I can run some code. In that code I added a value to ViewData, and in the Master View I want to either display certain items or not based on the value of the ViewData item set. The problem is, once I get to the Master View, the ViewData doesn't have anything in it. I am not sure what I'm doing wrong.
View 1 Replies
Oct 26, 2010
ViewData["Title"] is accessible only the current view? or it is possible to access other views also?
View 4 Replies
May 11, 2010
i need to pass multiple viewdata to a partial view from controller
View 7 Replies
Dec 28, 2010
on the controller, i am passing my string array to the view using ViewData.
[Code]....
on the view, i cated the viewdata to string array, and made a select list.
[Code]....
but if i run the website, i get this error :
[Code]....
View 5 Replies
Feb 7, 2011
I'm trying to pass a list of data from the column CICodeID in my database where the currently logged in users name matches the UserId.
Here is my controller: [Code]....
And here is my view: [Code]....
This is the exception I'm getting at run time:"Cannot compare elements of type 'System.Linq.IQueryable`1'. Only primitive types (such as Int32, String, and Guid) and entity types are supported."
View 6 Replies
Jan 27, 2010
Can i create a partial view and a controller that will feed data to the view, and if i render that partial in a Master page, the Data will show on whatever URL i am?
Or is there another way of showing content from database on every page(view)?
View 2 Replies
Aug 6, 2010
I've got problem with my app .
I've got such classes (this is some kind of tree structure):
[Code]....
[Code]....
in Index() action i've got this piece of code
[Code]....
[Code]....
View 2 Replies
Feb 24, 2010
how do I bind a a Listbox to a form?
[Code]....
Action:
[Code]....
evTemplateSelected does not contain any rows, although there should be. But it is not null!
View 4 Replies
Aug 25, 2010
Currently, I am working with ASP.NET MVC1 and am still learning about Model Binding and how values from a View are passed back to the Controller / Model. Specifically, I want take an existing Model, create a Table and populate the Rows of the Table, allow the user to edit some fields and pass it back. In my example, I have a Class called "Ingredient" which has 4 public accessories: Name, Barcode, Amount, and Unit.
[Code]....
Or is this not possible? (Basically, I'm trying to re-create a datagrid where certain fields are editable and certain are not...)
View 2 Replies
Nov 20, 2010
I have a View:
<div class="editor-field" id = "nick">Nick <%: Html.TextBoxFor(model => model.Nick)%><img src="/Content/Images/loading.gif" alt = "loading...."/>
<%: Ajax.ActionLink("Check", "Check", new AjaxOptions { UpdateTargetId = "check-valid", LoadingElementId = "loading"})%>
</div>
I used: Nick = ViewData.Model.Nick in ActionLink as below, but I cannot get value of Nick from View.
<%: Ajax.ActionLink("Check", "Check", new {Nick = ViewData.Model.Nick}, new AjaxOptions { UpdateTargetId = "check-valid", LoadingElementId = "loading"})%>
View 1 Replies
Aug 29, 2010
I came upon this when had problem trying to return a view of a different controller.
In controller1, I have view view1.
In Action1 of controller2, I wanted to do something like:
public ViewResult Action1()
{
return View("/Controller1/View1");
}
but, found out, I couldn't do it. So I searched and found this:[URL]
One guy there responded and said that, for my case, it is possible to do things like below:
return View("~/Views/Controller1/View1.aspx");
this is considered an acceptable MVC practice. Is it OK, good, perfect to do so in the asp.net MVC realm?
View 5 Replies
Mar 27, 2011
I have a view that receives a Model and displays info of that model.
I have a submit button and when it is clicked i want it to send the id to the method to process it and delete a row that has such id.
How can I do this? I want to use a button not an html link like
@Html.ActionLink("Delete", "Delete", new { id = Model.Id }) |
View 1 Replies