asp.net mvc 4 - Ajax.BeginForm doesn't work properly -
i have problem ajax submit
. have main view
render partialview
, within lastly 1 load partialview
. this:
main view
list of elements -> partialview
1
partialview
2 within partialview
1 i using ajaxbeginform
replace , update options:
@using (ajax.beginform("create", "mycontroller", new ajaxoptions { insertionmode = insertionmode.replace, updatetargetid = "form0", httpmethod = "post" }))
my problem submit works first time. saves new element , re-render partialview
1 ( updates list ). if want submit 1 time again redirect me partialview
1.
why happening , wrong in code? how can ?
here's controller action:
[httppost] public partialviewresult create(model viewmodel) { viewmodel.save(viewmodel.formmodel); var newviewmodel = new defaultviewmodel(viewmodel.xid,viewmodel.yid); homecoming partialview("_defaultpartialview", newviewmodel); }
it's ok action returns partialview
? should of type jsonresult
?
and partialview
1:
@using (ajax.beginform("createbehaviorlog", "behaviorlog", new ajaxoptions { insertionmode = insertionmode.replace, updatetargetid = "form0", httpmethod = "post" })) { @model defaultviewmodel @scripts.render("~/bundles/jquery") <h2>title</h2> { html.renderpartial("partialview2", model.modelforpartialview2); } <div id="listofelements"> @foreach(var item in model.x) { --list-- } </div> }
thank you.
update:
i fixed ( newbie error ). i'll post tomorrow reply because it's kinda late , need sleep!
so, first of all, when create ajax phone call sure included need. here mean:
be sure have <add key="unobtrusivejavascriptenabled" value="true"/>
in webconfig.
be sure have included script in page.
if using latest jquery
need alter live
function on
in unobtrusive script
.
btw, if have problem mentioned above here have done first time ( changed because it's not such solution ) :
mainview @using (ajax.beginform("create", "mycontroller", new ajaxoptions { insertionmode = insertionmode.replace, updatetargetid = "form0", httpmethod = "post" })) { renderpartial1 renderpartial1.2 } renderpartial2 .. renderpartialn
as can see, i've set ajaxbeginform
outside partial1.2
submit
, in mainview
. method wasn't because if need 2 forms ?
in end quit using ajaxbeginform
, used htmlbeginform
ajax post
javascript
.
ajax asp.net-mvc-4
No comments:
Post a Comment