Asked by:
How to Display Partial View Under Another Pariala View???

Question
-
User-1722502126 posted
Hi Actually i Have To partial View one is _chapterforcourse and another one is _subjectchapter
i need to display when i click Subject name button i need to open onother partial view please help me any one
Controller Code
public PartialViewResult chapterupload(string keyword)
{
using (EOTAEntities db = new EOTAEntities())
{
var products = (from pcrs in db.Courses
where pcrs.Course_name.ToUpper() == keyword.ToUpper()
select pcrs).Distinct().FirstOrDefault();
ViewBag.subject = (from pcrs in db.Courses
where pcrs.Secret_Code == products.Secret_Code
select pcrs).Distinct().ToList();
return PartialView("_chapterforCourse", products);
}
}
public PartialViewResult chapterdetails(string keyword)
{
using (EOTAEntities db = new EOTAEntities())
{
var products = (from pcrs in db.Courses
where pcrs.Subject_Name.ToUpper() == keyword.ToUpper()
select pcrs).Distinct().FirstOrDefault();
var subject = (from pcrs in db.Courses
where pcrs.Subject_Code == products.Subject_Code
select pcrs).Distinct().FirstOrDefault();
ViewBag.subj = subject.Subject_Name;
return PartialView("_subjectchapter", products);
}
}Partial View Code
_ChapterforCourse
@model EtreetrainingUser.Models.Cours
@{
/**/
/**/
Layout = null;
}
@using (Html.BeginForm("chapterdetails", "Home", FormMethod.Post, new { enctype = "multipart/form-data", role = "form" }))
{
@*@Html.AntiForgeryToken()*@
<button type="button" class="close" onclick="closechp1function1()" aria-label="Close" style="padding:5px 5px 5px 5px">
<span aria-hidden="true">×</span>
</button>
<div style="padding:15px 15px 15px 15px">
@{int count = 1; var scrt = 0; }
@{
foreach (var crs in ViewBag.subject)
{
using (Ajax.BeginForm("chapterdetails", "Home", new AjaxOptions
{
HttpMethod = "GET", // HttpMethod to use, GET or POST
UpdateTargetId = "pyc2", // ID of the HTML element to update
InsertionMode = InsertionMode.Replace
}))
{
if (count == 1)
{
}
else if (count == 2)
{
@Html.HiddenFor(model => model.Subject_Code)
<input type="submit" style="cursor:pointer;font-weight: 600;font-size: 15px;line-height: 1.43;color: white;background-color:#02b3e4;width:75px;" name="keyword" value="@crs.Subject_Name" />
}
else if (count == 3)
{
@Html.HiddenFor(model => model.Subject_Code)
<input type="submit" style="cursor:pointer;font-weight: 600;font-size: 15px;line-height: 1.43;color: white;background-color:#02b3e4;width:75px;" name="keyword" value="@crs.Subject_Name" />
}
else if (count == 4)
{
@Html.HiddenFor(model => model.Subject_Code)
<input type="submit" style="cursor:pointer;font-weight: 600;font-size: 15px;line-height: 1.43;color: white;background-color:#02b3e4;width:75px;" name="keyword" value="@crs.Subject_Name" />
}
else if (count == 5)
{
@Html.HiddenFor(model => model.Subject_Code)
<input type="submit" style="cursor:pointer;font-weight: 600;font-size: 15px;line-height: 1.43;color: white;background-color:#02b3e4;width:75px;" name="keyword" value="@crs.Subject_Name" />
}
else if (count == 6)
{
@Html.HiddenFor(model => model.Subject_Code)
<input type="submit" style="cursor:pointer;font-weight: 600;font-size: 15px;line-height: 1.43;color: white;background-color:#02b3e4;width:75px;" name="keyword" value="@crs.Subject_Name" />
}
count++;
}
}
}
</div>
}
<script>
$(document).ready(function () {
document.getElementById('pyc3').style.display = 'none'; document.getElementById('pyc4').style.display = 'none'; document.getElementById('sub1').style.display = 'none'; document.getElementById('chp28').style.display = 'block';
})
</script>2) _subjectchapter
@model EtreetrainingUser.Models.Cours
@{
/**/
Layout = null;
}
@using (Html.BeginForm("Doc_upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data", role = "form" }))
{
@*@Html.AntiForgeryToken()*@
<label style="text-align:center;color:white;padding:10px 0px 0px 0px">Details for @ViewBag.subj </label>
<button type="button" class="close" onclick="closefunction1()" aria-label="Close" style="padding:5px 5px 5px 5px">
<span aria-hidden="true">×</span>
</button>
<div style="padding:15px 15px 15px 15px" id="mainrowforvideos" class="col-lg-12 col-md-12 col-sm-12">
<div class="col-lg-12 col-md-12 col-sm-12">
@Html.EditorFor(model => model.Subject_Name, new { htmlAttributes = new { @class = "sub", @style = "float:left;padding:10px 100px 10px 10px", @value = @ViewBag.subj, @disabled = "disabled" } })
@Html.HiddenFor(model => model.Secret_Code)
@Html.HiddenFor(model => model.Subject_Code)
@Html.EditorFor(model => model.Chapter_number, new { htmlAttributes = new { @class = "chno", @style = "float:left; width:70px;padding:10px 10px 10px 5px", @placeholder = "No." } })
@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "ttl", @style = "float:left;padding:10px 10px 10px 10px", @placeholder = "Title" } })
@Html.EditorFor(model => model.Description, new { htmlAttributes = new { @class = "des", @style = "float:left;padding:10px 100px 10px 10px", @placeholder = "Description" } })
</div>
</div>
}
<input class="btn btn-success" type="submit" style="background-color:yellow; margin-top:20px ; float:right;padding:5px 5px 5px 5px; color:black; width:10%;" value="Update">
}
<script>
$(document).ready(function () {
document.getElementById('pyc3').style.display = 'none'; document.getElementById('pyc4').style.display = 'none'; document.getElementById('ryv1').style.display = 'none'; document.getElementById('pyc2').style.display = 'block';
})
</script>1st Partial is working Fine but when i click subject name button second partial view open like Razor view(main View) but i need partial view....
I tried do that but i can't i'm stragle to do please any one help
Thanks In Advance
Thursday, May 30, 2019 10:54 AM
All replies
-
User-474980206 posted
Your first issue is the the browser does not support nested forms. You should fix that first. Second only Ajax can update part of the page, a form post will ireplace the entire page. Ajax forms can be used to update in place, but they only effect the content div they target.Thursday, May 30, 2019 1:58 PM