Ich habe ein asp.net MVC-Projekt, das eine typische Suchfunktion hat. Ich habe meine Hauptansicht, wenn der Benutzer auf eine Option klickt, wird die Teilansicht in die gleiche Ansicht geladen. Wenn ich jedoch in der Teilansicht suche, werden die Ergebnisse auf eine andere Seite geladen.Partial View Suchergebnisse laden auf eine andere Seite
Hier ist der Code meiner Hauptansicht:
<section class="content" id="partialview">
<!-- Main row -->
<div class="row">
<a href="#" id="option1">
<div class="col-lg-12 col-md-12 col-xs-12 wrapper">
<center><div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"><img src="~/Images/icon.png" class="icons" /></div></center>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"><div class="text">Option1</div></div>
</div>
</a>
</div>
</section>
javascript:
<script>
document.getElementById("option1").onclick = function() { ViewResults() };
function ViewResults() {
$("#partialview").load("@Url.Action("ActionName", "Controller")");
}
</script>
Und hier ist der Controller, der die Teilansicht lädt:
public ActionResult ActionName(DateTime? datefrom, DateTime? dateto)
{
Model rmodel = new Model();
string path = Server.MapPath("~/Files/");
DirectoryInfo dir = new DirectoryInfo(path);
if (datefrom != null && dateto != null)
{
rmodel = dir.GetFiles("*.pdf*").Where(a => a.CreationTime >= datefrom && a.CreationTime <= dateto);
}
else
{
rmodel.PDFFile = dir.GetFiles("*.pdf*")
}
return View(rmodel);
}
Jede Idee? Vielen Dank.
EDIT
Hier ist die Teilansicht:
@using (Html.BeginForm("ActionName", "Controller", FormMethod.Get))
{
<div class="form-inline">
<div class="form-group">
@Html.TextBox("datefrom", null, new { @placeholder = "Date
From", @class = "form-control", @id = "DateFrom" })
</div>
<div class="form-group">
@Html.TextBox("dateto", null, new { @placeholder = "Date To",
@class = "form-control", @id = "DateTo" })
</div>
<input type="submit" class="btn btn-sm btn-primary" value="Filter" />
</div>
}
Der Code für die Suche/Filter in der Steuerung ohnehin schon ist.
Was die Teilansicht ist, die Ihr Laden, wenn Sie auf das Element mit 'id = "option1" '? und welcher Code ist mit der "Suche" verbunden? –
Siehe meine Bearbeitung. Vielen Dank. – Qwerty
Es ist eine Form, die ein GET macht, also wird es natürlich auf eine andere Seite umleiten. Möchten Sie die Ergebnisse der Suche auf derselben Seite anzeigen? In diesem Fall müssen Sie Ajax verwenden. –