I am rather new to ASP.NET MVC and am trying to develop good practices and have studied a few tutorials and videos. There seems to be some differences in how people define the signature of a typical edit action method - sometimes the id (primary key) is listed and sometimes not. It seems like letting the framework do the model binding is a GOOD THING, so I will probably have the model (or view model) as a parameter:
But, should the id be a parameter too? I assume it is common-place to have the id in a hidden form field as well so the id (primary key) is then already bound in the model (or view model) - if so, what is the id parameter good for? Or should it be the other way around - keep the id parameter and do not bother using a hidden field for it? What are the pros and cons and what is the best practice?
Consider the following scenario.You have a Edit action (GET and POST) for an entity that multiple pages link into (GET EDIT). What is the best way of getting back to the page that linked to the edit action? Adding a returnTo url in the query?
Example, from MyCart/3 we have a edit product link /Product/Edit/5?returnTo=MyCart/3 (but url encoded) And from Producer/45 we have this link /Product/Edit/5?returnTo=Producer/45
I'm a newbie into MVC and I am like only on chapter 7 in ASP.NET MVC Unleashed so be easy with m
[Code]....
how do I tell Create Button to send to an Action named Create and to Edit to an Action named Edit on the same form?I guess it is possible on ASP.NET MVC if it is possible on ASP.NET Webforms
I have an action link that I use to pass values to a controller using this statement:
<%: Html.ActionLink("Addition 1 to 10", "CreatePdf", "Pdf", new { id = 32, stOperation = "Add", stNumbers = "10" }, null)%>
So when a user clicks on the above link the controller CreatePDF is called with the parameters of id, stOperation, and stNumbers. I then use these three parameters to return a pdf document to the user.I also have a checkbox on the html page as defined by:
<%: Html.CheckBox("chkAnswers", false) %>
My question is how to pass the value of this checkbox in the above HTML.ActionLink? I have a tutorial on using the submit button to submit an entire form and the associated data. However I do not want the user to have to click a button. Instead I'd like return the value of the checkbox in the action link but I'm not sure how to do this. I want something like:
%: Html.ActionLink("Addition 1 to 10", "CreatePdf", "Pdf", new { id = 32, stOperation = "Add", stNumbers = "10", checkboxValue = true or false }, null)%>
Secondly, how does ASP.NET MVC know that action is my action, and controller is my controller. Like I saw this in samples, and it does work, but isn't it just an anonymous object with no type?
I have an edit action that is not updating. The code is below. When i debug the code , i see my udated field but it doesnt seem to get saved into the database.
I have the following javascript. Problem is if I enter one row in the table "ingredients" but I am getting 2 rows in the resulting pass to controller action after seralising into my C# object. But the second object is null? I checked the javascript and the variable "cnt" is 1 not 2. Why would that be?
[code]
$("#Save").click(function () { var title = $("#recipetitle").val(); var category = $("#category").val(); var preptime = $("#prepTime").val(); var preptimeperiod = $("#lstPrepTime").val(); var cooktime = $("#cookTime").val(); var cooktimeperiod = $("#lstCookTime").val(); var rating = $("#rating").val(); var method = $("#method").val(); var jsontext = '{ "RecipeTitle": "' + title + '",'; jsontext += '"CategoryID":' + category + ','; jsontext += '"PrepTime":' + preptime + ','; jsontext += '"PrepTimePeriod":"' + preptimeperiod + '",'; jsontext += '"CookTime":' + cooktime + ','; jsontext += '"CookTimePeriod":"' + cooktimeperiod + '",'; jsontext += '"Rating":' + rating + ','; jsontext += '"Method":"' + method + '",';....................
In one view (view1) there is a text box and a button beside it. i click on that button, i am popping another view (Create view) as a seperate window. in create view i am entering some values and creating a record in db. out of these values one value i have to send back to "View1". how can i send this value? i am opening view2 from view1 like
View2 contains some fields like Name,Email etc... and I click "Create" to call HTTPPOST. there i add the values to db including a generated guid. i want to send this ID to view1.
Basically, I have an HTML Form and would want to pass the data from the form to n asp.net mvc controller, then the controller would return an XML for client side manipulation.
Here is my initial code:
[Code]....
When I run and debug, I get a message that says "attr(..) is null or not an object. I am still trying to learn web development using ASP.NET MVC.
I have 2 classes that are used to mirror the data from an ajax call. One (Customer) contains a property which is name, and the other is an array of Products.
Public Class Customer Private _Name as String Private _Products as Product() Public Property Name() As String
I am trying to send json data from view to controller action. But the issue is the data is not populating in the action parameter List<Score>.
View Model: public class Score { public int QuestionId { get; set; } public int PrevAnswerId { get; set; } public int CurrAnswerId { get; set; } public string CurrAnswerName { get; set; } }
Json Data look like: [ {QuestionId:1, PrevAnswerId:3, CurrAnswerId:3, CurrAnswerName:'Known to Broker'}, {QuestionId:2, PrevAnswerId:7, CurrAnswerId:7, CurrAnswerName:'Completed'}, {QuestionId:3, PrevAnswerId:10, CurrAnswerId:10, CurrAnswerName:'Report'} ]
On window load, I will construct the Json object using "eval()" function and do some operation in the data before its save. On Save Click, I will call the action through the ajax call.
Action: public ActionResult SaveScore(List<Score> score) { // do something... }
But here score comming as collection of 3 elements with zero(for interger property)/null(for string property) values. When I checked in the request I found the data in "parama" property like.
But I am not sure why it is not getting populated in the score list. One full day I spent for this issue but till now I didnt find the solution for this issue.
Is it possible to edit the content of a view from a action filter.
What I am working on is a Resourcemanager that I can use to manage
my style sheets, js and other resources. I want to be able to put
lines in the the view any where like Html.ResourceManager.AddScriptFile("MyScript")
or Html.ResourceManager.AddCSSFile("MyCSS")
and at the end of the view call Html.Render(); this would then place the content of my resources at this point. My problem is that I want to put the CSS stuff at the top of the view, but them problem is that it is renderend at the end of the view, so I tought that I could use a ActionFilter to move it to the top of the view.
1) What would be the best way to do this task ?
2) Is there any resources that describe the way that the MVC framework works in more detail ?
I have a GridView with EDIT, DELETE AND SELECT options.Now I want to include AJAX code so that on pressing DELETE or EDIT it gives me a pop-up box, confirming my action.
I have an Edit form that utilizes the following ViewModel:
[Code]....
SUserDetail, User and CUDetail are LINQtoSQL classes in my [ .dbml ]. What the above ViewModel allows me to do, is provide a nice and neat Edit form populated with data from the above 3 objects.
However I am stuck on how to handle the HTTP Post for the Edit Action.
I've a listview in which i'm binding data from objectdata source. I have a requirement where i've to allow edit/delete for only certail listviewitem which meets specific requirement. How do i dynamically set that some item can be only be edited not deleted thus only edit button/link should appear and vice-versa.
I am having a grid with the three column date, and mode.The last column is Edit.
When i click the edit button, i need to get the corresponding date and mode and show in the pop up. for that it is possible to pass two value in the command ergument.?
I have a grid view that populates and displays data at btn click event from the following sql statement in one of the SP:
SELECT
reg_code, pc_serial, act_code FROM user_reg WHERE reg_code=@reg_code
I want to pass parameters to the other Stored procedure when the edit button is clicked in order to update the 2 columns in the specific row at the time. I now how to pass parameters in a regular btn click event or function, but in the case of edit btn in grid view I don't know how to capture data from specific row and then pass it to the SP. Here is Stored Procedure to update the columns (every user always has the same reg code, but may have more than one serial number and activation code, I want to let the user update serial number and then based on the serial number generate new activation code in the SP.):
I'm implement Comet in Asp.net MVC, I used timer to keep Async request in server, Async request will complete when timer elapsed 1 minute and response to client (to avoid 404 error) and then reconnect to Async Controller. I also wanna execute some Synchronous action during Async request was holding, but the problem is: When an Async action was executed and hold by using timer, the Sync Action wasn't called until Async action (comet long-live request) completed. I did test with firefox 3.6 many times, but the result is the same, so strange, Do you know why ? I have a sub some questions : To implement comet, using timer (response after some minutes elapsed) or thread (response after several time sleeping thread) to hold async request, which is better?
I am desiging a master and details page from a search page..user can search for something and I need to display the result in jqgrid if the result has more than 1 row or record.. if the result is just one record then i have to directly send then to details page by skiping grid page... I do have an action method for results page and one more action method for Jqgrid data..i am trying to check the row count for the database result and trying to redirect to details action results..but its not working at all..and showing an empty jqgrid..
Lets say I have a simple controller for ASP.NET MVC I want to test. I want to test that a controller action (Foo, in this case) simply returns a link to another action (Bar, in this case).How would you test TestController.Foo? (either the first or second link)
My implementation has the same link twice. One passes the url throw ViewData[]. This seems more testable to me, as I can check the ViewData collection returned from Foo(). Even this way though, I don't know how to validate the url itself without making dependencies on routing.The controller:
public class TestController : Controller { public ActionResult Foo()[code].....