2016-10-27 2 views
1

다음 코드는 NopCommerce v3.8의 맞춤 플러그인에 있습니다.Nop Commerce RenderBootstrapTabHeader 제출

@using Nop.Web.Framework; 
@using Nop.Core; 
@using System.Linq; 
@using Nop.Web.Framework.UI; 
@using Nop.Web.Framework; 
@using Nop.Core.Infrastructure; 
@model Nop.Plugin.Widgets.PromoSlider.Domain.PromoSliderRecord 

@{ Layout = "_AdminLayout.cshtml"; } 

<div class="content"> 
<div class="form-horizontal"> 
    <div id="slider-edit" class="nav-tabs-custom"> 
     <ul class="nav nav-tabs"> 
      @Html.RenderBootstrapTabHeader("Slider", @T("Slider"), true) 
      @Html.RenderBootstrapTabHeader("Images", @T("Images")) 
     </ul> 
     <div class="tab-content"> 
      @Html.RenderBootstrapTabContent("Slider", Sliders(), true) 
      @Html.RenderBootstrapTabContent("Images", Images(), false) 
     </div> 
    </div> 
</div> 
</div> 


@helper Sliders() 
{ 
using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="panel-group"> 
     <div class="panel panel-default"> 
      <div class="panel-body"> 
       <div> 
        <div class="adminData">@Html.HiddenFor(m => m.PromoSliderId)</div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-2">@Html.NopLabelFor(m => m.PromoSliderName)</div> 
        <div class="col-md-9"> 
         @Html.EditorFor(m => m.PromoSliderName) 
         @Html.ValidationMessageFor(m => m.PromoSliderName) 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-2">@Html.NopLabelFor(m => m.IsActive) </div> 
        <div class="col-md-9"> 
         @Html.EditorFor(m => m.IsActive) 
         @Html.ValidationMessageFor(m => m.IsActive) 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-2">@Html.NopLabelFor(m => m.Interval)</div> 
        <div class="col-md-9"> 
         @Html.EditorFor(m => m.Interval) 
         @Html.ValidationMessageFor(m => m.Interval) 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-2">@Html.NopLabelFor(m => m.Wrap)</div> 
        <div class="col-md-9"> 
         @Html.EditorFor(m => m.Wrap) 
         @Html.ValidationMessageFor(m => m.Wrap) 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-2">@Html.NopLabelFor(m => m.PauseOnHover)</div> 
        <div class="col-md-9"> 
         @Html.EditorFor(m => m.PauseOnHover) 
         @Html.ValidationMessageFor(m => m.PauseOnHover) 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-2">@Html.NopLabelFor(m => m.ZoneName)</div> 
        <div class="col-md-9"> 
         @Html.DropDownListFor(m => m.ZoneName, new SelectList(
        new List<string>() { 
         "producdivetails_top", 
         "categorydetails_after_breadcrumb", 
         "home_page_top" 
        })) 
         @Html.ValidationMessageFor(m => m.ZoneName) 
        </div> 

       </div> 
       <div class="pull-right"> 
        <button type="submit" name="save" class="btn bg-blue"> 
         <i class="fa fa-floppy-o"></i> 
         @T("DERP") 
        </button> 
       </div> 
      </div> 
     </div> 
    </div>      
} 

} 

@helper Images() 
{ 
if (Model.PromoSliderId > 0) 
{ 
    @Html.Action("ManagePromoImages", new { PromoSliderId = Model.PromoSliderId }) 
} 
else 
{ 
    <p>Please create and save a slider first.</p> 
} 

} 

제출 버튼이 전혀 실행되지 않아 생성 된 소스를보고 이유를 찾을 수 있습니다.

<div class="content"> 
<div class="form-horizontal"> 
    <div id="slider-edit" class="nav-tabs-custom"> 
     <ul class="nav nav-tabs"> 
      <li class="active"><a data-tab-name="Slider" data-toggle="tab" href="#Slider">slider</a></li> 
      <li class=""><a data-tab-name="Images" data-toggle="tab" href="#Images">images</a></li> 
     </ul> 
     <div class="tab-content"> 
      <form action="/PromoSlider/CreateUpdatePromoSlider" method="post"></form><div class="tab-pane active" id="Slider"><input name="__RequestVerificationToken" type="hidden" value="uH2GbG4t6n0dDyBs79d6GQZTorBRpgWFCFithR77gSkAUYvPkMecNIwYtkEGyayid97gmdQp-isUUkMq1M7qSpeYOzwLGW-9WtUIxggkBd-0gATnIt5CvfEtUpjqwnl90" />  <div class="panel-group"> 
     <div class="panel panel-default"> 
      <div class="panel-body"> 
       <div>.... 

당신이 양식을 작성하는 decideds 어처구니없는 이유로 볼 수 있듯이, 다음 양식 후 제출 버튼을 포함 닫 입력 모든 @helper HTML 코드.

내 질문, 당신은 여전히 ​​내부

@ Html.BeginForm

를 사용할 수있는

@ Html.RenderBootstrapTabHeader

정말 싶습니다 3.8에서이 기능을 사용해보십시오.

답변

2

지금 제공 할 수있는 유일한 방법은 태그를 필수 매개 변수와 함께 사용하여 @helper {} 내부에 양식을 만드는 것입니다. 우리는이 문제를 조사하기 위해 적절한 문제를 만들었습니다 : 그것은

을 사용할 수 있습니다 모두 있도록 스크린 샷에서 아이디어를 얻을 수 있습니다 당신은 상단에 선언 탭에서 @Html.BeginForm 을 추가 할 수 있습니다 https://github.com/nopSolutions/nopCommerce/issues/1840

+0

아, 3.8 호 에선 문제입니다. 좋은 생각이 들었습니다. – lemunk

0

enter image description here

+3

** 이미지로 코드를 추가하지 말고 적절한 코드 섹션 인 markdown을 사용하십시오. –

+0

예 @PaulKertscher Thnx –

관련 문제