I have ,MyPartialView.cshtml':
<div id="partialDiv">some content</div>
an 'index.cshtml':
<div id="mainDiv"> </div>
and an 'index.js'.
The 'index.js' should do sth like:
$('mainDiv').html($('#partialDiv'))
to put the partial view into the main div.
(writing @<text> <div> @Html.Partial("MyPartialView")</div></text>)
in my .cshtml works, but I need to change the content dynamically. Therefore, I thought maybe there is an equivalent in JavaScript for 'Html.Partial
'
(Or is there another way to get a Partial View without an AJAX Call)
I have ,MyPartialView.cshtml':
<div id="partialDiv">some content</div>
an 'index.cshtml':
<div id="mainDiv"> </div>
and an 'index.js'.
The 'index.js' should do sth like:
$('mainDiv').html($('#partialDiv'))
to put the partial view into the main div.
(writing @<text> <div> @Html.Partial("MyPartialView")</div></text>)
in my .cshtml works, but I need to change the content dynamically. Therefore, I thought maybe there is an equivalent in JavaScript for 'Html.Partial
'
(Or is there another way to get a Partial View without an AJAX Call)
Share Improve this question asked Oct 25, 2018 at 15:29 thestruggleisrealthestruggleisreal 1,3153 gold badges16 silver badges33 bronze badges 02 Answers
Reset to default 3@Html.Partial("MyPartialView")
used only to render single partial view file (also with @Html.RenderPartial()
). You can use AJAX to call controller action which returns partial view:
AJAX Request
$.ajax({
type: 'GET',
url: '@Url.Action("ActionName", "ControllerName")',
// other settings
success: function (result) {
$('mainDiv').html(result);
}
});
Controller Action
[HttpGet]
public ActionResult ActionName()
{
// do something
return PartialView("MyPartialView");
}
Note that there's no equivalent of calling partial view in JS, because you need to make request to server which can't be simply handled by standard JS functions.
cshtml
files are rendred in server side. you can't load it using just JavaScript. the perfect way is using Ajax by calling an Action that return your partial view