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.
In timsplit i have value "17:00 - 2:00".Then i am converting it TimeIn and TimeOut.TimeIn is string now and how to convert it to int32.I am getting error while convertin Timesplit = strResultData.Split('-'); string TimeIn = Timesplit[0]; string TimeOut = Timesplit[1]; int TimeI = Int32.Parse(TimeIn);
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?
I'm using a GridView control to edit data in a MySQL database.
I've created the C# code behind but I'm having trouble pulling back the parameter from a radiobutton control to populate an Int32 field in the database. I'm getting "Input string not in correct format"This is the particular bit (amongst a host of others of the same type) that is causing the problem:
I am not sure where my app is failing but most probably this is where it is failing.. I think lblExpID.Text is the culprit. Here's the relvant part of my code:
Dim lblExpID As Label For Each item In LSGrid.Rows lblExpID = item.FindControl("lblID") If txtExpGenFund.Text <> "" Then sqlArray(i) = ExpDetailsID & "," & (lblExpID.Text) & "," & MunID & "," & _ Val(txtExpGenFund.Text) & "," & Val(txtExpDetSpecialRevenue.Text) & "," & _ Val(txtExpDetCapitalProjects.Text) & "," & expTotal & "," & reportingYear & "," & "Test Comments" & "," & UserID End If
Can u help me identify why i am getting this error looking at the sp below:
PROCEDURE [dbo].[uspEXPENDITURE_DETAILS] ( @ExpDetailsID int=0 output, @ExpDet_ExpID int, @ExpDet_Municipality_ID nvarchar(50), @ExpDetGeneralFund money, @ExpDetSpecialRevenue money, @ExpDetCapitalProjects money, @ExpDetTotal money, @Exp_Reporting_Year varchar(10), @ExpComments varchar(max), @Contact_ID int ) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
delete from [dbo].[TBL_EXPENDITURE_DETAILS] where ExpDet_ExpID=@ExpDet_ExpID and ExpDet_Municipality_ID=@ExpDet_Municipality_ID and Exp_Reporting_Year=@Exp_Reporting_Year
If @ExpDetailsID >= 0 Begin INSERT INTO [dbo].[TBL_EXPENDITURE_DETAILS] ([ExpDet_ExpID] ,[ExpDet_Municipality_ID] ,[ExpDetGeneralFund] ,[ExpDetSpecialRevenue] ,[ExpDetCapitalProjects] ,[ExpDetTotal] ,[Exp_Reporting_Year] ,[ExpComments] ,[ExpDetCreatedBy] ,[ExpDetCreateDate]) VALUES (@ExpDet_ExpID, @ExpDet_Municipality_ID, @ExpDetGeneralFund, @ExpDetSpecialRevenue, @ExpDetCapitalProjects, @ExpDetTotal, @Exp_Reporting_Year, @ExpComments, @Contact_ID, GetDate() ) SET @ExpDetailsID = SCOPE_IDENTITY() return @ExpDetailsID end
Sometimes Convert.ToInt32(object) will work and other times (Int32)object will work. How do you know which to use? I usually try one and if it doesn't work use the other but I'm sure that's not the best approach.
@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 am using Entity Framework to contact my data base. as part of my web code I am using Linq to entities, and I want to determine the number of elements in an anonymous type list. I can't get it to work, I get the exception: "LINQ to Entities does not recognize the method 'Int32 Parse(System.String)' method, and this method cannot be translated into a store expression."
var questItem = from chapters in context.TestChapter from questions in context.Question where chapters.ID == int.Parse(Request.QueryString["id"]) where questions.TestChapterID == chapters.ID select questions.ID; int numOfSteps = questItem.Count();
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?
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?
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
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 am writing unit tests for fluent Nhibernate, when I run the test in isloation it passes, but when I run multiple tests. or run the test more than once it starts failing with the message below System.ApplicationException : For property 'Id' expected '1' of type 'System.Int32' but got '2' of type 'System.Int32'
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; }