MVC :: Why Is ViewModel Coming Back With Some Null Properties

Jul 8, 2010

I have a simple ViewModel with 3 properties...I have some javascript going on where if a link is clicked, JQuery sets the values for 2 textfields (1 hidden) and a submit button where i process the rest of the Model on [HttpPost] - but for some reason some fields (the ones NOT set by javascript/JQuery) are coming back null - while on the page there is clearly values in them

[Code]....

And my Controller has the HttpGet and HttpPost, and a method that creates the nodes for the JQuery tree.

When you click on a node, this is when some values are set via javascript

I am using ASP.NET MVC 2.0 and I want to transfer my ViewModel properties to business object. I can do this manually or use AutoMapper or use new method available in ASP.NET MVC 2.0. My question is that does anyone know the name of the new method which allows to copy the properties from one object to another?

for SEO purposes, instead of refreshing the page every click of a product, is it possible to click on the product and when the server comes back with the response, to change the URL of the page to reflect the new link to information currently on page?

point is to have ajax redraw the product details portion of the page but have SEO friendly url's displayed so if people want to bookmark the currently selected product, it will bookmark the right url instead of the generic one to access the products page..

For example... here's my entry point:

Products.aspx

product1product2product3 If I were to click product1, the request goes to the server with roducts.aspx?id=product1 but the url is still products.aspx on the response meaning that when people bookmark the product1 item, and they send the link to a friend, the friend always gets the generic product.aspx page.

I'm trying to get around this without refreshing the full page (postback).

Page1.aspx does things in the Page_Load event I navigate to Page2.aspx using the menuPage2.aspx does some things then Response.Redirect back to Page1.aspxPage1.aspx cannot do things in Page_Load event this time because it never fires.

I tried to turn off cache declaratively, tried using true for endResponse in my redirect... nothing seems to make a difference.

My web site is integrated into a client web site. Client web site reaches out to my site through an Xml request and I return Html embedded in an Xml response. Client site then displays the Html in an area on a page on their site. All is well so far...

Now, there is a link on the Html that does an HttpPost back to my site which causes a re-direct to another page on my site. i.e. [URL] -> HttpPost -> [URL]-> Response.Redirect("CookieTest.aspx"). Still, all is well. [URL]

All of the above can occur without authentication to mysite. Where I start running into problems is when CookieTest wants to do a FormsAuthentication.SetAuthCookie(). If I put a button on CookieTest that does FormsAuthentication.SetAuthCookie() and then Response.Redirect("SecurePage.aspx"), still under [URL], the SecurePage does not recognize the authentication because the auth cookie is not present.

1. Navigate straight to CookieTest.aspx

So I simplfied the problem into basic cookie set/read excercise and used the code below to test out cookie writing/reading ability. When I call the page directly from the browser I see that on initial load the response cookies are empty. Then on button click I see that the cookie is properly set in the response. Then on subsequent page refresh I see that the page load shows the request cookie.

2. Navigate to CookieTest.aspx in an HttpPost from [URL], as mentioned above.

Now on button click I see the cookie in the Response but do not see it come back in the Request of subsequent page refreshes, as if the client browser is rejecting cookies set by my server.

3. Navigate straight to CookieTest.aspx, then do the HttpPost from [URL]

In this case, since the cookie was set during a straight navigation to CookieTest.aspx, the cookie is present in the subsequent HttpPost/Redirect from [URL]. CookieTest.aspx has full access to the cookie and can even delete it.

4. Have CookieTest.aspx pop a new browser window simply sets the cookie and closes itself down.

Similar to #3, if the cookie is set through a popup window and then CookieTest is refreshed the cookie is present in the Request.

Notes:

The code does prove that the client browser accepts cookies.

When my page (CookieTest.aspx) is shown within the frame on the [URl] page, during any link back to my server, the Request.Url.Host shows my domain.

Upon clicking the button that triggers the validator, the application breaks and I can see that the window.event property is null, so obviously there's a null reference trying to match the regEx. My question is why could the window.event be showing up as null? I could've sworn this was working before.

I had a .net 4.0 vb.net page that was setting session variable and setting a hidden form value to the same value. It was a paypal buy now button. When the user selects it, they are sent to paypal for payment. If the transaction is good, they are redirected back to another page on my site and a hidden value is sent back with the invoice I originally sent them. They are sending the form value, but my session variable does not available.

From the user point of view it's all seamless.. Is it the same session? And should my session variable be available?

My Original Issue here:Help! I've got repository access in my MVC master page! Refactor time!What originated as a re factoring job to improve performance has revealed new issues. If I should keep this in my original question - feel free to delete this one, and rename the old one to something more relevant. I'm using an ActionFilter applied to a base controller to load some user-customized settings. My issue is that I save these settings in the filterContext.Controller.ViewData object but its coming through as null on my master page. Here is the relevant code:

I have made a web page in which there is login screen when user login it goes next page but my problem is if i directly enter the url of that page it open. I want it should not open unless the user log in...

its said that 1 ViewModel has 1 View. 1 View is for me a UserControl. What if my UserControl has different areas filled with data from different entities, do I have then several Views and need to build several ViewModels? e.g: I display in a UserControl 3 entities: customer(listbox),order(datagrid),product(datagrid). Each of those "data areas" has add+remove buttons and textboxes to enter data.

Actually each of those "data areas" are put in its own GRID having so the posibility to set a individual datacontext.

1.) Should I now create 3 ViewModels CustomerVM,OrderVM and ProductVM?2.) Are those 3 "data areas" seen as an own sort of separated View, although I have not put them in 3 UserControls.xaml files ???3.) When this one UserControl is inside a TabControl`s tabpage where do I load the 3 entities related data? Inside the MainViewModel? I want to show/load that data only when the user clicks the tabheader.

I'm new to .Net development, and now are following NerdDinner tutorial. Just wondering if any of you would be able to tell me What is the differences between ViewData and ViewModel(all I know is they are used to pass some form of data from controller to view) and perhaps tell me on what situation should I use ViewData instead of ViewModel and vice versa

However, I am not sure how to test this, and in general would much rather have the method take a typed model like:[HttpPost] public ActionResult Edit(MovieActorViewModel movieActor) Is this possible? What changes to my MovieActorViewModel class do I need to make in order to enable this? That class looks like this:

A table can be used to automatically sense Model. But when I get more than one table after the SQL query is a DataTable. When this DataTable to return View (DataTable) later. In the aspx file, can automatically perceive it as the Model, as the self-paragraphs?