Как использовать мастер FuelUX в веб-формах ASP.net

Я новичок в веб-разработке и использую VS2013, ASP.net 4.5.1 WebForms и C#.

Я начал разрабатывать приложение и добился большого прогресса. Я хотел бы использовать элемент дизайна мастера и пытался использовать мастер FuelUX. Я столкнулся с этим при использовании темы начальной загрузки Ace – отзывчивый шаблон администратора.

Поскольку на моем сайте используются мастер-страницы, я добавил в тег ссылку на файл JavaScript FuelUX.wizard. Я не уверен, что это правильное или лучшее место.

Я также ссылаюсь на CSS с главной страницы сайта и доволен результирующим дизайном страниц контента, который обслуживается.

Моя проблема возникает, когда я пытаюсь выполнить какое-либо действие за кнопками «Далее» и «Предыдущий». Чего я хочу добиться, так это перейти к следующему этапу мастера, когда пользователь нажимает «Далее», и к предыдущему этапу, когда пользователь нажимает «Предыдущий». Я прочитал много подобных вопросов, но мне чего-то не хватает, потому что все, что я делаю, неправильно :-(

Вопросы:

  1. Куда должна идти ссылка на FuelUX.wizard.js? как у меня это или указано в содержании страницы или что-то еще?
  2. Как лучше всего использовать функцию, содержащуюся в файле JavaScript, — можно ли это сделать из исходного кода или это нужно делать со страницы с контентом?

Я надеюсь это имеет смысл. Всем спасибо

Site.Master — диспетчер сценариев

<asp:ScriptManager runat="server">
            <Scripts>
                <%--To learn more about bundling scripts in ScriptManager see http://go.microsoft.com/fwlink/?LinkID=301884 --%>
                <%--Framework Scripts--%>
                <asp:ScriptReference Name="MsAjaxBundle" />
                <asp:ScriptReference Name="jquery" />
                <asp:ScriptReference Name="bootstrap" />
                <asp:ScriptReference Name="respond" />
                <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
                <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
                <asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
                <asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />
                <asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />
                <asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />
                <asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />
                <asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" />
                <asp:ScriptReference Name="WebFormsBundle" />
                <%--Site Scripts--%>
                <asp:ScriptReference Path="../Scripts/fuelux/fuelux.wizard.js" />

           </Scripts>

MyPage.aspx — частичная разметка

<div id="my-wizard" data-target="#step-container">
    <ul class="wizard-steps">
        <li data-target="#step1" class="active">
            <span class="step">1</span>
            <span class="title">Some details</span>
        </li>
        <li data-target="#step2">
            <span class="step">2</span>
            <span class="title">Some more details</span>
        </li>
    </ul>
</div>
<div class="step-content pos-rel" id="step-container">
    <div class="step-pane active" id="step1">
        <h3 class="lighter block green">Enter the following information</h3>
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h3 class="panel-title">Enter some details</h3>
            </div>
            <div class="panel-body">
                <div class="col-sm-12 form-group">
                    <label class=" control-label" for="aList">A List</label>
                    <select class="form-control" id="aList">
                        <option>1</option>
                        <option>2</option>
                        <option>3</option>
                        <option>4</option>
                        <option>5</option>
                    </select>
                </div>
                <div class="col-sm-12 form-group">
                    <label class=" control-label" for="something">Add Something</label>
                    <input class="form-control" id="something" type="text" placeholder="Enter Something">
                </div>
            </div>
        </div>

    </div>
   <div class="step-pane" id="step2">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h3 class="panel-title">Some more details</h3>
            </div>
            <div class="panel-body">
               <div class="col-sm-12 form-group">
                    <label class=" control-label" for="enterSomethingelse">Enter something else</label>
                    <input class="form-control" id="enterSomethingelse" type="text" placeholder="Enter something else here">
                </div>
           </div>
        </div>
    </div>
</div>
<div class="wizard-actions">
     <button class="btn btn-prev">
        <i class="ace-icon fa fa-arrow-left"></i>
        Prev
    </button>

    <button class="btn btn-success btn-next" data-last="Finish">
        Next
        <i class="ace-icon fa fa-arrow-right icon-on-right"></i>
    </button>
</div>

person cramar    schedule 30.08.2014    source источник
comment
Да, ссылка на файл JavaScript может существовать в вашем представлении. Не могли бы вы пояснить свой второй вопрос? Чего вы пытаетесь достичь? Вы пытаетесь создать динамические шаги? Вы смотрели в ajax?   -  person arao6    schedule 30.08.2014
comment
Я думаю, что мой вопрос действительно таков. Если у меня есть ссылка на внешний файл JavaScript, как лучше всего использовать содержащуюся в нем функцию? Можно ли его использовать из кода позади?   -  person cramar    schedule 30.08.2014


Ответы (2)


Если вы пытаетесь настроить предыдущее и следующее действия своего мастера, мне недавно пришлось сделать то же самое. Если вы добавите скрытое поле в начале своего мастера, например:

Its possible to create custom js functions that control the movement of the wizard better than the default ones given by Fuelux. What I did was a GoNext(index) and GoPrev(index) that did two things:

  1. Изменен выбранный пункт мастера. Посмотрите в

$('#myWizard').wizard('selectedItem', {шаг: NewIndex});

  1. Обновлено скрытое поле, чтобы сохранить вкладку, на которой вы находитесь, через постбэки. document.getElementById('‹%=stepState.ClientID%>').value = NewIndex;

Внутри каждой вкладки вам просто нужно будет вызвать соответствующую функцию со значением индекса, соответствующим следующей вкладке, и вы можете поместить эти вызовы функций в обычные ASP:Buttons как OnClientClick.

Надеюсь, поможет.

person dskoda1    schedule 13.07.2015

Я полагаю, что Ace использует Fuel UX 2. Вы можете просмотреть документы здесь.

Я не знаком с ASP .net, но знаком с Fuel UX Wizard. Вам нужно будет активировать «код позади» или код на стороне сервера из события JavaScript. Существует событие мастера change, которое срабатывает при нажатии следующей или предыдущей кнопки. Однако, если вы собираетесь перезагрузить страницу (вероятно, так работает обратная передача). Вам нужно будет сохранить и повторно инициализировать мастер с шагом, который вы хотите показать. Fuel UX был разработан в первую очередь для «одностраничных приложений» или веб-приложений, которые не перезагружают страницы.

Вы можете посмотреть что-то вроде этого Создайте ссылку на службу в asp:ScriptManage

person Interactive Llama    schedule 30.08.2014