Siemanko,
w Razor Pages mam sobie metodę OnGet w widoku, która do ViewDaty zapisuje jedną wartość, z której korzystam w widoku
Metoda OnGet:
public void OnGet(string parameter = "default")
{
ViewData["SelectedParam"] = parameter;
}
Widok:
@{
var selectedParam= ViewData["SelectedParam"];
}
<h1>Some Page</h1>
<hr />
<div class="row">
<div class="col-3">
<div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
@await Component.InvokeAsync("MyComponent")
</div>
</div>
<div class="col-9">
<div id="mainDiv">
@selectedParam
<hr />
@if (string.IsNullOrEmpty(selectedParam.ToString()))
{
<h5>No param selected</h5>
}
else
{
<h5>@selectedParam selected</h5>
}
</div>
</div>
</div>
W komponencie znajduje się parę elementów a
, natomiast po kliknięciu w któryś z nich jest ajaxem odpalana ta metoda onGet i zmieniana jest wartość ViewDaty.
JQuery:
$(document).on('click', '$componentElement', function () {
var parameterResult = "test";
$.ajax({
url: '/Index',
type: 'get',
data: {
parameter: parameterResult
},
success: function () {
<!-- tutaj muszę przeładować -->
}
});
});
Jak mogę teraz przeładować ten mainDiv w widoku bez konieczności przeładowania strony (wtedy mam problem że komponent też się odświeża a tego bym nie chciał)?
Próbowałem location.reload()
, ale jak pisałem wyżej cała stronka sie odświeża, próbowałem też$('#mainDiv').load(' #mainDiv')
, ale niestety nie śmiga ;/