I have a dilemma. Please send help!
I am creating an MVC 4 web application and cannot get a partial view to load into a page section when a form is loaded from another partial view. Here is what I have done so far:
On the base page ( ReviewPage ), I have a section that loads a partial view when the page loads. Something like that:
@model AppV4.Models.NewCompanyRequest
@{
ViewBag.Title = "ReviewNewRequest";
}
<h2>New Sign Up Review</h2>
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-8">
<div id="company_notes">
@Html.Action("_CompanyNotes")
</div>
</div>
</div>
</div>
Here is a partial view ( _NoNotes ) that is initially loaded with the _CompanyNotes action in the controller:
@model AppV4.Models.ViewModels.NotesOnCompanyViewModel
<h4>Notes on Company</h4>
<div class="row text-center col-sm-6 col-sm-offset-6">
<div class="text-center">
<div class="primary-action-bttn-border">
<div class="primary-action-bttn-bkg">
@Ajax.ActionLink("Add Note", "_CompanyNotesEditGet", Model, new AjaxOptions { UpdateTargetId = "company_notes", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }, new { @class = "btn btn-default primary-action-bttn" })
</div>
</div>
</div>
</div>
<div class="row text-center padding-25-top">
<p>There are no notes for this company. Do you want to add some?</p>
</div>
@Html.HiddenFor(item => Model.RequestId)
" " _NoNotes _CompanyNotesEditGet (_NotesForm), _NoNotes div #company_notes. . _NotesForm:
@model AppV4.Models.ViewModels.NotesOnCompanyViewModel
<form data-gp-ajax="true" action="@Url.Action("_CompanyNotesEditPost", "NewSignUpRequestReview")" method="post" data-gp-target="#company-notes">
<div class="form-horizontal">
<h4>Notes On Company</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.NotesId)
@Html.HiddenFor(model => model.CompanyId)
<div class="form-group">
@Html.LabelFor(model => model.Notes, htmlAttributes: new { @class = "control-label col-md-2 text-left" })
<div class="col-md-12">
@Html.EditorFor(model => model.Notes, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Notes, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
</form>
: Notes , , , , _NotesForm .
: Notes , . , , . .
, , , .
, _CompanyNotes:
[HttpPost]
public ActionResult _CompanyNotesEditPost(NotesOnCompanyViewModel notesOnCompanyViewModel)
{
return PartialView("~/Views/NotesOnCompany/_CompanyNotes.cshtml", notesOnCompanyViewModel);
}
JavaScript, , , , ReviewPage:
$(function () {
$('form[data-gp-ajax=true]').submit(function () {
var $form = $(this);
$.ajax({
url: $form.attr("action"),
type: $form.attr("method"),
data: $form.serialize(),
success: function (viewHTML) {
$("#company_notes").show();
$("#company_notes").html(viewHTML);
};
})
return false;
};
});
, js -, , . , , js script script, _Layout. . -?