Мое собственное обходное решение использует некоторую информацию в ViewData
для знания то, какую область нужно показать в backnavigation и небольшом JavaScript для расположения курсора страницы:
В Представлении, элементе как это:
<h3 id="tasks">
Contained tasks
</h3>
И JavaScript к repositionate страница:
<script type="text/javascript">
addOnLoad(goAnchor);
function goAnchor() {
var paging = <%= //Here you determine (from the ViewData or whatever) if you have to position the element %>;
if (paging == "True") {
window.location.hash = "tasks";
}
</script>
Вы могли использовать switch
для определения, какой элемент от страницы представления необходимо переместить.
Hope это помогает.
В php есть что-то подобное, хотя и немного подробное:
$args = func_get_args();
call_user_func_array(array($this, 'parent::__construct'), $args);
Да, очень плохая практика - создавать дочерний класс, который использует аргументы конструктора, отличные от родительских. Особенно на таком языке, как PHP, где он плохо поддерживается.
Конечно, общий способ передать набор «любых аргументов, которые нам могут понадобиться» в PHP - это передать один аргумент, состоящий из массива значений конфигурации.
Ознакомьтесь с этими функциями на php.net :[1273 visibleAlso, если вы хотите сделать необязательный аргумент, вы можете сделать это:
class ParentClass {
function __construct($arg, $arg2="Default Value") {
// Initialize a/some variable(s) based on $arg
}
}