updatepanel загружает всю страницу в iframe - PullRequest
0 голосов
/ 02 августа 2010

У меня есть страница, которая отображается внутри iframe.Iframe использует элемент управления Ajax UpdatePanel для обновления формы внутри него.Однако вся страница обновляется в IE, хотя Firefox в порядке.Валидаторы тоже не работают.Мой код (с Ajax) работает за пределами iframe.Что происходит?Спасибо за вашу помощь.Мой код:

страница контейнера:

  <IFRAME id="frame1" width="600px" frameborder="0" height="390px" src="http://www.site.ac. uk/page.aspx" runat="server"></IFRAME>

page.aspx:

 <form id="form1" runat="server">
<div class="results"> 
  <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

<h3>Enter amount</h3>
   <span>$ <asp:TextBox CssClass="text" ID="TextBox1" runat="server"></asp:TextBox></span><br />


   <asp:Button ID="Button1" runat="server" CssClass="button" onClick="Button1_click" Text="Calculate" />
   <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" Display="Dynamic"></asp:RequiredFieldValidator>
   <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" Display="Dynamic"
    ErrorMessage="" ValidationExpression="^\d+$"></asp:RegularExpressionValidator>


  <asp:UpdatePanel id="results" runat="server">
   <Triggers>
  <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
  </Triggers>

  <ContentTemplate>
   <div class="amount"> 
   <h3>Amount</h3>
    <span>$ <asp:TextBox CssClass="text" ID="TextBox5" runat="server" ReadOnly="True"></asp:TextBox> </span><br />
 </div>


<h3>Total value:</h3>
 <span>$ <asp:TextBox ID="TextBox6" CssClass="text" runat="server" ReadOnly="True"></asp:TextBox> </span>

  </ContentTemplate>
  </asp:UpdatePanel>
   </div>

     </form>

page.aspx.vb

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    TextBox5.Text = (TextBox1.Text * 0.333333).ToString("F2")
    TextBox6.Text = Val(TextBox1.Text) + Val(TextBox5.Text)
End Sub

1 Ответ

0 голосов
/ 16 августа 2010

Компонент Validator не работает внутри панели обновления, используйте расширение asp.net ajax-toolkit и используйте ValidatorCalloutExtender для контроля и проверки.он работает нормально Посмотрите это видео в Asp.net

...