How To Access ViewData In A PartialView From JQuery In MVC?
Dec 29, 2010
I have a View loading a PartialView via jQuery. The PartialView has ViewData that the jQuery needs to access, but I can't seem to get to it from the jQuery. The code below uses the HighChart jQuery plugin (and it is just test code taken from the HighChart example page):
<script type="text/javascript">
var chart1; // globally available [Code]....
This jQuery is in the main view, because I don't know how I could put it in the PartialView with the document ready function. But by putting the call to the HighChart function in the callback of the get() function it works in the partial view. But accessing the ViewData doesn't...
How can I achieve this? I need to get the data from the PartialView action method in order to populate the HighChart data...
I have a little MVC 3 challenge that I am trying to overcome.Here is my scenario:I have a controller called PersonController.cs with 5 methods:Add Add (post) Edit Edit (post) PopulateName(string EmailAddress) - POST
I have a viewdata class called PersonViewData.cs with 3 pieces of data:
Email FirstName LastName
I have 2 PageViews (Edit.aspx and Add.aspx)I have 1 PartialView (Details.ascx) - with 3 textboxes (Name, Email, Phone)I want to reuse this partial view in both the Edit.aspx and Add.aspx Views.
The user should NOT enter the First Name/Last Name - rather, once the user has entered the email address (OnChange of Email textbox), the First Name/ Last Name of person should be populated. This is done using the PopulateName(string EmailAddress) controller method. Meaning, I have an AJAX Form inside the partial view
Then once all 3 fields are populated. The user should be able to submit either the Add or Edit HtmlForm.
Code of Edit.aspx: [Code]....
Code of Add.aspx: [Code]....
The main issue is as follows:I have an AJAX Form inside the partial view. Since now we have a PageView Form and nested PartialView AjaxForm - Form within a Form - the Browser has a hard time with this concept. In fact, when a person enters an email address, the frmEdit/frmAdd gets submitted.
I am saving "Instruction" in CreateInstruction view. This view has partial view "CreateInstnAttribute" which saves "Attributes" related to this Instruction. It requires the InstnID as foreign key. The Instruction is saved using JQuery to avoid postback. So how can I get the InstnID to save the InstnAttribute? I tried HiddenField to save InstnId but I am not able to receive the value there. Can we use viewdata directly in JQuery?
I'm trying to use jQuery to load a PartialView. It does this fine at the first loading of the page. But then I need to be able to reload the PartialView when a save button is pressed. I get a reload, but this time the PartialView is all I get back. I.e. I don't get the PartialView loaded as a part of the main page, but rather as a page of its own. What am I doing wrong?
Here are the relevant parts of the jQuery in the View:
How can I attach jquery on an ASP.NET MVC partial load. I've a form rendered in a partial that has some jquery attached, but that code is not running at all
I got a problem with client side validation not firing, after reading many posts I believe it as to do with the HTML being loaded "afterwards". But I can not seem to find any solution.You got any ideas how to solve it?
i need to show project information by value of dropdownlist.by using this code i get a list of data to drop down list.now how can i access the first data in ViewData(or record)
need to keep a list of logged users STATUSES at the Server level (either "ONLINE" or "OFFLINE").
so I wrote a Partial View to maintain the user current Status (Online, Offline). The server stores these values both on the Database and all the current Online users also in a Cached entry so that I can retrieve the list of all current "Online" users from cache.
In order to keep this list uptodate, I now need an asynchronous AutoRefresh call that notifies the server to keep my userID on the ONLINE list. This call should execute every xx seconds and should only execute if the current status is ONLINE.
QUESTIONS: 1) How can I create an AutoRefresh call that fires every XX seconds 2) How can I ensure this call executes only when I'm in ONLINE status
ViewData["pagetitle"] returns current page title for example Home, About, News List, News Detail. But i want to change current news information title instead of News Detail string. News Detail page contains partial view. Partial view know which news shown.
We have a site that is public facing, let's say it's http://www.example.com. When the SSL is implemented, [URL], I can no longer access the jQuery 1.4.3 file on my own server. Furthermore, after a tweak to the security setting, I was able to get past the 'Access is Denied' error, but the first call was null.I understand there is a problem with different protocols actually being within the scope of the cross-domain problem? Is that true? And if so, will this now require JSONP?
I have a view that is used as a search screen for a client database. I wanted to carry out the search using AJAX so the page would update smoothly. However, now the AJAX and PartialView are working, when validation is triggered by leaving both search fields empty, the reposted view appears inside the PartialView DIV ("Results"). The Page section looks like this:-
[Code]....
how I can stop the returned validation displaying inside the PartialView?
I have a single model type to wrap up various models I want to use in my view:
public class QuestionViewData { public Question Question { get; set; } public IList<Answer> Answers { get; set; } }
Now, in my question view I pull the data from the Question object - that's fine. Secondly I iterate through all Answer objects and pass them to a partial view:
For each answer (in the partial view) I have some action buttons (like ratings). I'm using separate form POST's with hidden fields for every button. The problem is that I can't post the whole QuestionViewData model to my action method cause I only have the Answer object as model in the partial view. However, I need to return the complete question view from that action that takes QuestionViewData as model.
how to call a partial view from within a Javascript function? I've looked around the web, but all the examples that I have been able to find are examples using Ajax.ActionLink or Ajax.BeginForm.
When a user clicks on an item, I want to be able to hide/display some Divs and possible do other operations before calling the partial view. ActionLink doesn't appear to provide that ability. Depending upon the item the user clicked, I may be assigning the results of the PartialView to the same Div, or to a different Div.
What I'm looking to achieve, is to have an onclick handler associated with the item which performs whatever other operations might need to be done, then assign the result of the call of the PartialView to the appropiate Div. In some instances, the function might even be making two separate calls to PartialViews, to update the content of two separate Divs.
I have a very simple app where a user enters 2 text values and presses a button, I want a confirmation message to be displayed on the same page however it keeps redirecting to show the partial view as a full view.
This is my home View:
[Code]....
This is my ContactController:
[Code]....
And finally this is my Confirmation PartialView
[Code]....
This is using MVC 3/.Net 4, I have downloaded an MVC 2/.Net3.5 sample project from the web that is doing exactly the same which works fine. What am I doing wrong?
Well, I have a really small problem. How can I access an ASP.NET Drop down list from jquery? I tried to use "CssClass" property of the drop down list to assign a CSS class and then accessing that list using that class, but later I found out that the class changes when an element is selected, so my initial class replaced by a new class.I set the "CssClass" property of that list to "InstrumentDropDown". When the page loads for the first time, its class property is set to "InstrumentDropDown", just as I expected. But when an element is selected, and a postback is made, it becomes something like "InstrumentDropDown sg selected" (may be there are underscore between words instead of spaces)
I also cannot use the "ClientID" property because the part of code that access that list is not inside the page, but in a separate javascript file.
"Product" is defined in bal. Product contains other business entities. What i simply want to do is to access the model with which view is binded in jquery and then post it to my action method in cart controller. i do not want to post the id of product. I want to post the actual model via jquery to my action method.
I have two project both on same machin under same solution.One is my webservice and another inculde my webproject that access that webservice using jquery .I am using flexigrid control to populate my data.it is working fine when i am trying to use the webservice on my machin under same solution but when i try to use webservice reside on another machin it not working for me. This is my aspx page
[Code]....
when i chage the [URL] from to this [URL] it is not giving the same result as that of previous url.why it is not working i am not gettting it. I m not getting why it is happing so.
Does anyone have any idea why the code below doesn't give me any value but instead gives me "System.Web.Mvc.SelectListItem"? If I don't do a foreach but instead substitute the ViewData with this
<%= Html.DropDownList("PersonOnCallCheckBoxList") %>, I get the correct value. foreach (var person in ViewData["Person"] as IEnumerable) { %> <input type="checkbox" value="<%= person %>" /><%= person %><br /> <% }