C# - Change Action Of Checkbox To Get Instead Of Post?
Mar 26, 2010
We have an ASP.Net page that uses a checkbox to toggle between a list view and a tree view. The problem is that this triggers a post. When we then click on one of the documents in the list, then press back in the browser, we get a page expired error. Is it possible to change the action of the check box to trigger a get with a parameter?
i have a master page and a child aspx page, coneected to each other. the master page has the form in it. Now the child page has checkboxes, whose value i would like to pass to another child page with same master page behind it. Can i change the action=abc.aspx and method=post?How can i send all the checkbox values (checkbox.text = abc@oke.com) to the next page? there are lots of these values that need to pass to nex tpage.
I'm trying to add file upload functionality to a page. I've got a form that posts the selected file to a controller with a 'savefile' method. But if I don't add a get version of 'savefile' I'll get a 404 error. Here is the form code which is presented on the Index page:
[Code]....
And here is the controller code:
[Code]....
Intuitively I don't think I should need a GET version of SaveFile but if omit it I get a 404 error when the form posts. Why should I need a GET version of SaveFile when all I want is to post a form and save the file?
@using (Html.BeginForm("Index", "Bill")) { @Html.Label("FromDate") @Html.DropDownList("FromDate",Model.DateList) @Html.Label("ToDate") @Html.DropDownList("ToDate", Model.DateList) @Html.ActionLink("Filter", "Index", "Bill") // I want to post to Index } [HttpPost] public ActionResult Index(string fromDate, string toDate) { //Process }
What is the correct way to post the date range to Index action?
i wonder something about mvc post method. for example I created a view "strongly typed" from a model (MyModel).
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Demo1.Models.MyModel>" %> for Create actionsthere is two way. first one takes MyModel as parameter [HttpPost] public ActionResult cart(MyModel md, int someID) { //some code //..... return View(MyModel); } second one does not take parameter as model. [HttpPost] public ActionResult cart(int someID) { //some code //..... return View(Mymodel); }
for first one way, after form post the form values does not delete, I mean form does not cleared,after second one form is be cleared. why this diffirence?
I'm trying to use the jQuery.post() function to post an object to an action method, but for some reason the nested objects aren't initialised properly when they're received by the action method.
Here's my javascript code:
[Code]....
And my action method:
[Code]....
company.Id has a value of 10, but company.User.Id is 0. what I'm doing wrong? I've not named any properties incorrectly, by the way.
I must miss something obvious here when using htmlbegin form. I noticed that it takes (or tries to take me) right to the view rather than the an action. If I replace SearchAction with SearchResult is goes nicely to the view, not considering the action.
Using SeachAction leads to the error that it cant find the view.
I have an ActionResult that accepts POST, however is there a work around for me to redirect from a controller to another controller containing this POST method/action?
public class BandProfileModel { public BandModel Band { get; set; } public IEnumerable<Relationship> Requests { get; set; } } and the following form: <% using (Html.BeginForm()) { %> <%: Html.EditorFor(m => m.Band) %> <input type="submit" value="Save Band" /> <% } %> which posts to the following action: public ActionResult EditPost(BandProfileModel m, string band) { // stuff is done here, but m is null? return View(m); }
Basically, I only have one property on my model that is used in the form. The other property in BandProfleModel is just used in the UI for other data. I'm trying to update just the Band property, but for each post, the argument "m" is always null (specifically, the .Band property is null). It's posting just fine to the action, so it isn't a problem with my route. Just the data is null.
The ID and name attributes of the fields are BAND_whatever and Band.whatever (whatever being a property of Band), so it seems like it would work. What am I doing wrong? How can I use just one property as part of a form, post back, and have values populated via the model binder for my BandProfileModel property in the action?
i am making a forum application using MVC 2. I have a ForumController which has Index and Create Actions. The Get Create Action returns View and the Post Create Action takes an argument of type "ForumEntry". When i generate create view i make sure that i check "create strongly typed view" and i select models.ForumEntry Model and NOT the models.Forum Model. The Forum model is ADO.NET enitity model that maps to Forum Table. I want to catch ForumEntry type into my Create Post action but mysteriously i get a Forum Object. I have verified this by returning Content When :
[HttpPost] Public ActionResult Create(ForumEntry entryToCreate) { return Content (entryToCreate.Title); // No Output }
When
[HttpPost] Public ActionResult Create(Forum entryToCreate) { return Content (entryToCreate.Title); // output == new entry that i typed in the create form }
I am baffled as the create Form is of type FormEntry. Here is the code for create View
I am having a problem where when I form post to an action it gets null values in my hosted enviroment although if I use a model to bind to it works fine. Everything posts and works correctly when I run the project.
So far I have tried to pass the form fields back as parameters on the action and get the value through the context request. Both work fine but as soon as I publish it to the hosted enviroment, it doesn't work. in the view I have:
<%=Html.TextBox("subject") %>
<%=Html.TextBox("comment") %>
for the action Method:
[HttpPost]
[Authorize]
public ActionResult Reply(int? id, string subject, string comment)
{
//Some code...
}
I have verified that it is hitting the action but the subject and comment values are null. I am guessing I am missing something simple, maybe a security setting in the config, that is causing this since I am still fairly new with MVC. I am running VS 2008 with MVC2.
ia ma working on an asp.net mvc 2 app and i have a Users view, displaying all the users of the database. Then, i would like to add the ablility to display "users starting with fisrt name" capabaility on the same view. For this i created a list of all english leters that actually are links (<a href="#">A</a>, etc...)
I managed to handle the click event of each one of the letters and get the corresponding letter via jquery, but i don't know how to call theHttp.Post Users/FindUserByFirstLetterName(string letter) on the click event.
I cannot use the Html.ActionLink<> helper, since it redirects me to the HttpGet controller action.
I also tried using using jqery.Post but i also couldn't manage to call the action.
display a simple modal message stating that an action as taken place?For instance, I have a button on my screen that sends an email. After completing the task I enable a label (visible=true) that states 'Email Sent'.I would rather have something pop up after clicking send mail, stating the email was sent.Do I need to use an AJAX control (popup extender), or is there a simple method of doing this?
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)%>
I'm attempting to write a unit tests for an ASP.NET MVC 2 post action that takes a view model as its sole parameter. The view model is decorated with validation attributes such as [Required]. I'd like to test two scenarios. The first scenario is when a valid set of data is passed in (ie, all required properties have values) and a redirect to the list page is returned. The second scenario involves passing in invalid data (eg, when one or more of the Required properties are not set). In this case the same view is returned with error messages.The action signature is as follows:
[HttpPost] public virtual ActionResult Create(NewsViewModel model)
The NewsViewModel class is as follows:
public class NewsViewModel { public Guid Id { get; set; }
I got a list of checkboxes on my form, and a jquery script that catch a button click to get all the selected items (in an array) and post to a controller action.
This is my script: (yes A, looked at your sample but cannot get this to work)
[Code]....
That alert will print out correctly (like 1,3,5).
However when the above post hit my controller action, "selectedInvestments" are null, which I can't figure out why (back to my tekpub jquery videos, can't go on like this)
This is about as beginner as it gets regarding AJAX, but here it goes.I want to have one checkbox somewhere on an ASP.NET web form (ASPX). When the user clicks the checkbox, I want one of those spinning indicators to show.While that spinning indicator is showing, I want an update operation to occur in the database to reflect that the user has intended for that checkbox to be checked.
update MyTable set CheckboxChecked = 1Then, as soon as the update operation has completed (must be verified to actually have been written), I want that to be reflected in the checkbox by removing the spinning indicator and replacing it with the standard checked checkbox. I'm guessing this is done with an UpdatePanel and possibly an update statement followed by a looped call to a select statement... but I have never used AJAX before and have no idea how to go about it.
i have a website where i provicde a link. On clicking the link a controller action method is called to generate a zip file after creation of zip file is done, i show the link to download the zip file by replacing the link to create a zip with the link to download the zip.
the problem is that after zip file creation is over and link is shown, when user clicks on the link to download the zip file, they are sent to login. After providing correct credentials in the login page they are prompted to download the zip file. they sould not be sent to the login page. In the action to generate zip file i haven't abondoned the session or haven't not done anything that abondons the session.
the user should not be sen't to login page after successful creation of zip file user should be able to download the file without login. i search internet on this problem, but i did not find any solution. In one of the blog written by hanselman i found this statement that creates the problem with the session: Is some other thing like an Ajax call or IE's Content Advisor simultaneously hitting the default page or login page and causing a race condition that calls Session.Abandon? (It's happened before!)
so i thought there might be some problem with ajax call that causes the session to expire, but i don't know what is happening? it's like this after users click on the link to create zip file the zip file is created successfully but the session gets expired. this is not what i want. Why does the session has to get expired after making a jquery post call to controller action to create a zip file? i hope u understand the problem.
I have an asp.net application in which I have a parent form and in that on load I am adding sub forms dynamically having a submit image button..
When I am clicking the button of one form then I am able to read the hidden variables using request under parent form .But on clicking the second button the hidden variables of parent form are having null value although i have assign the value to them using context variables.
how can i handle mulitple form action for same page
how to make a checkbox is always unchecked even after form submit where a user tick the checkbox. The checkbox is for acknowledgment that user agrees to the terms and conditions ... and when form submit return some errors I want to display the error message on the screen and keep the checkbox unchecked regardless it was ticked or not.
In my view I have the following:
<%: Html.CheckBoxFor(m => m.UserAgreement) %>
And I have tried both the following in my controller and none of them works:
I have an app I am transitioning to MVC3 to see what the upgrade path is essentially. I've hit a snag. I believe I've run into a change that may be due to the changes for Dependency Injection in action filter attributes, but I have been unable to track down the cause, and the "correct" solution.This project uses StructureMap and NHibernate. The NHibernate session is started at the beginning of each request, and ends at the end of each request, thanks to a small module. This is just to give an idea of the stack involved...o I have a few custom Authorize attributes (Inheriting from AuthorizeAttribute) that perform some more complicated authorization logic for specific actions that they decorate. Part of their functionality involves using two repositories which they must either (a) have injected, or (b) get from the StructureMap ObjectFactory themselves. In MVC2 I was using option b, so that the CONSTRUCTOR of the attribute looked like this:
[Code]....
This worked fine, as in MVC2 the constructor was called each time the attribute was evaluated. This BREAKS in MVC3, where it would appear that this is no longer the case. Due to this apparent change, the FIRST time this attribute is evaluated, it runs fine, but each subsequent time, any calls in the repositories fails because it claims the NHibernate Session object hasn't been started! The reason being, as far as I can tell, that the CustomAuthorizeAttribute is created once, and then held in whatever state it exists in at that point for the lifetime of the application... Which means that the dependencies inside of it (Which SHOULD go out of scope at the end of each request, and be reinstantiated / fetched at the beginning of subsequent requests), are instead persisting with it becoming stale after the first evaluation.After banging my head against the desk for a few hours, I realized that simply moving these calls to the ObjectFactory into the AutorizeCore method made everything work again.Now, all of this was of course, a hack, because there wasn't a good easy to do real dependency injection into attributes in MVC2. I hear that is changed in MVC3, and I am wondering if this behavior is in response this change, and if so, what do I need to do to make this work?
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