2015-02-16 2 views
1

Я использую DNN с AngularJS и бутстрапом. Теперь у меня есть макет страницы в видеЗаменить/изменить .aspx-страницу во время выполнения

enter image description here

То, что я хочу сейчас, в соответствии с функцией того, что выбирает пользователь в меню должен освоить и подробно заменить. Существуют разные страницы .aspx, которые я должен добавить во время выполнения.

Есть ли простой способ?

ответ

0

Вы не можете «заменить» страницу .ASPX - вы можете запросить HTML-код с разных конечных точек (страницы, если хотите), и ASP.NET будет генерировать их на основе запроса.

Эта лингвистическая неточность в стороне, вам нужно, чтобы ваш клиент Угловое приложение отображало разные шаблоны на основе некоторого значения выбора. Вы можете использовать ng-include и ссылаться на URL-адрес шаблона, который может быть сгенерирован вашей страницей .ASPX.

Итак, представьте, что вы есть простой HTML страницы, как это:

<select ng-model="selection" ng-change="changeMasterAndDetail()"> 
    <option value="foo">foo</option> 
    <option value="bar">bar</option> 
</select> 

<div ng-include="master"></div> 
<div ng-include="detail"></div> 

В контроллере можно назначить шаблон Url в зависимости от выбора:

.controller("SelectionCtrl", function($scope){ 
    $scope.selection = foo; 
    $scope.changeMasterAndDetail = changeMasterAndDetail; 

    changeMasterAndDetail(); 

    function changeMasterAndDetail(){ 
     if ($scope.selection === "foo"){ 
     $scope.master = "/path/to/master/pageA.aspx"; 
     $scope.detail = "/path/to/detail/pageA.aspx"; 
     } else if ($scope.selection === "bar"){ 
     $scope.master = "/path/to/master/pageB.aspx"; 
     $scope.detail = "/path/to/detail/pageB.aspx"; 
     } 
    } 
}); 
+0

Выглядит хорошо, я нашел способ с угловым ui-router.min.js и сменой сайтов через $ state.transitionTo. Но для меня это выглядит плохо. –

+0

Это тоже сработает. Это зависит от того, что вы действительно пытаетесь построить, что непонятно из исходного сообщения. –

+0

Я использую DotnetNuke и программирование в angularJS с бутстрапом. Использует ng-table, ng-tree и другие. –

0

Если вы просите замените содержание на основе щелчка пунктов меню в разделе мастер, вам нужно всего лишь поставить <a href = "destinationURL">Option</a>.

Вы можете создать главную страницу, на которой вы храните раздел мастера и все свои вкладки или параметры, а также href, имеющий URL-адрес вашей страницы содержимого.

Вы также должны добавить <ContentPlaceHolder> на свою основную страницу, где будет отображаться страница с подробной информацией.

Теперь, когда вы создаете новую страницу, вы выбираете главную страницу и просто начинаете писать контент в области <asp:Content>. Таким образом, весь ваш контент появится в поле . И эта область будет загружаться динамически на основе href.