I am using ASP.Net MVC and IgniteUI. I have a form which contains form fields to be filled and this form will be posted through Form's POST method named "CreateJournal", I also have a grid which has an UpdateUrl named "SaveJournalDetail" which I have to call before Form submission so that the grid data is also saved on "SUBMIT" button. There is only one submit button and the UpdateUrl as well as Form's POST method have to be triggered through this same button.
The issue:
Scenatio1:When I fill the whole form and there is no error(Validation or any other) the Form's POST method is called therefore the "igtranscations" from grid are lost because "SaveJournalDetail" is never called.
Scenario2:When I fill the form with some errors(Validation or any other) which means the form fails to POST, the UpdateUrl is called. In this scenario I am able to get the "igtransactions" in "SaveJournalDetail" method but "CreateJournal" (Form's POST method) is never called resulting in form data not being posted.
Why is this happening? Scenario2 ensures that my syntax for Updating is fine because it works when POST fails. A short sample could also help.
Hello Imran,
Thank you for posting in our community.
In order to provide you more efficient help, I would like to clarify the following:
1) Did you place your grid within the form, which contains the other fields? Please note that this will ensure that on submit all form's data will be send to the server, including grid's changes.
2) Did you add "action" attribute to the form tag that specifies where to send the form-data when the form is submitted?
Looking forward to your response.
Sincerely,
Tsanna
Please tell me what to do . When I use the LoadTransactions<JournalDetail> in my Form's POST method ("CreateJournal"),I get null exception there. The grid is inside the form tag but the "igtransactions" form is not available in my "CreateJournal" method. What should I do . How do I get the igtransactions in the same method as my Form's POST method.
Also I checked in my browser, the UpdateUrl's ajax call was being cancelled by the browser thats why the Ajax Grid's updateUrl method was not able to run in my initial query. How can I get the "igtransaction" of grid(which is inside the form BUT not part of the same @model) as well as get all the form data too (the data which is part of my @model) in the same method without making ajax POST calls manually.
Is this the case still today? Can we not over ride the save method to send other data in the form as well. Seems like a VERY big limitation.
Were you able to resolve the issue?
If I can provide further assistance, please let me know.
I'm afraid that the sample that you have sent me recently does not demonstrate the issue that you're describing. Please send me a sample that exactly reproduces your scenario. Otherwise I'm not able to test this behavior and determine the reason that causes the issue.
At the meantime you can try to set some time delay on the 'saveChanges' method via setTimeOut function. I assume that because of the asynchronous execution of both the post requests, it's possible that they overlap and hence one of them is cancelled. However this is only an assumption.
OKay, then this takes me back to my initial problem. The "savechanges" Ajax request is cancelled by the browser as soon as the MVC form's POST method is executed. Please check the solution which I attached in my previous post. There you can see that while the "savechanges" method is in the middle of its execution, its cancelled and form's POST method is called. How to fix this issue :|