2014-01-04 2 views
0

У меня есть FormView внутри панели обновления, но ничего не происходит:FormView внутри UpdatePanel не обновляется при запуске от кнопки вне

<asp:Panel ID="uploadpanel" runat="server" CssClass="rightblock" Width="480px"> 
    <asp:UpdatePanel id="upnlGvAdmins" runat="server" UpdateMode="Conditional" > 
    <ContentTemplate>  
     <asp:FormView ID="fvPhpto" runat="server" DataKeyNames="id" 
      Width="480px" AllowPaging="True" 
      PagerSettings-Visible="false"> 
      <ItemTemplate> 
      <asp:Label Text='<%# Eval("title") %>' runat="server" ID="descriptionLabel" /> 
      <asp:mageID="thumb1" runat="server" ImageSize="Large" PhotoID='<%# Eval("id") %>' /> 
      <asp:Label ID="noteslabel" runat="server" Text='<%#Eval("notes") %>' /> 
      </ItemTemplate> 
     </asp:FormView> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="UploadFile" /> 
    </Triggers> 
    </asp:UpdatePanel> 

    <h3>Upload Photo</h3> 
    <asp:FileUpload ID="FileUpload1" runat="server" CssClass="txtfield" /> 
    <div class="actionbuttons"> 
     <asp:LinkButtn ID="UploadFile" runat="server" Text="Upload" OnClick="UploadFile_Click" /> 
    </div> 
</asp:Panel> 

ответ

1

У меня была такая же проблема сегодня. CommandName="Insert" на кнопке было недостаточно, и я не мог получить вид формы для выполнения обновления. Единственный способ, которым я мог решить это, - либо снять панель обновления, либо пострадать с помощью полной обратной передачи (boo!) Или вручную запустить обновление формы, используя событие OnClick моей кнопки. Это все еще не идеально, но это работает.

Так, в ASPX у меня есть это:

<asp:UpdatePanel runat="server" ID="upMain" ChildrenAsTriggers="true" UpdateMode="Always"> 
<ContentTemplate> 
      <asp:FormView runat="server" ID="fvNewForm" DataSourceID="dsoJobForm" DefaultMode="Insert"> 
      <InsertItemTemplate> 
       <h3>Create a new job form</h3> 
       <div class="subSet"> 
        Job Form ID: &nbsp; 
       <asp:TextBox runat="server" ID="txtJobFormID" MaxLength="10" Width="100"></asp:TextBox><br /> 
        <br /> 
        Job Form Name:<br /> 
        <asp:TextBox runat="server" ID="txtJobFormName" MaxLength="50"></asp:TextBox><br /> 
        <br /> 
        <asp:Button runat="server" ID="btnSaveNewForm" CommandName="Insert" OnClick="TriggerFVUpdate" Text="Save & Continue" /> 
       </div> 
      </InsertItemTemplate> 

     </asp:FormView> 

    </ContentTemplate> 
</asp:UpdatePanel> 

А в коде позади, у меня есть это:

Protected Sub TriggerFVUpdate(sender As Object, e As EventArgs) 
    Me.fvNewForm.InsertItem(True) 
End Sub 

Если кто-то там есть лучшее решение, я полностью за это так дайте мне знать!

Смежные вопросы