6

我在结构<asp:UpdatePanel..>内部工作时遇到问题<table>.. <tr> </tr>,我不知道为什么。当 UpdatePanel 被注释掉时,一切正常,但是当我取消注释 UpdatePanel 时,<tr> </tr>标记的内容甚至不会出现在 Visual Studio 2010 中。当我运行网页时会显示此内容,但 UpdatePanel 不会工作。我在这个项目中的其他网页都没有这个问题,但是我再次在其中使用<div>s 而不是<table>s。另一件事。这在我的 MasterPage 中。这是我的脚本:

<asp:UpdatePanel ID="W9UpdatePanel" runat="server" UpdateMode="Always">
    <ContentTemplate>
        <tr>
          <td colspan="6">
            <div class="branchSetupSectionTitle">W-9 Information:</div>
          </td>
        </tr> 
        <tr>
           <td colspan="2">
             <asp:Button ID="btnDownloadW9Pdf" runat="server" 
             Text="Download W-9"  onclick="btnDownloadW9Pdf_Click" AutoPostBack="True" /> 
             <%--<asp:RegularExpressionValidator ID="RegularExpressionValidator24" 
              runat="server" ControlToValidate="txtFirstPaymentAmount" Display="Dynamic" 
              ErrorMessage="The dollar amount you entered is in the wrong format." 
              ForeColor="Red" ValidationExpression="^\d+(\.\d\d)?$">*</asp:RegularExpressionValidator>--%>
              <asp:CheckBox ID="chkW9FormSubmitted" runat="server" AutoPostBack="True" 
              oncheckedchanged="chkW9FormSubmitted_CheckedChanged" 
              Text=" I have submitted this W-9 Form" />
            </td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
         </tr> 
    </ContentTemplate>
</asp:UpdatePanel>

   </tr>

按钮和复选框都会触发该事件,但会刷新整个页面。谢谢你的帮助。

4

3 回答 3

5

UpdatePanel 需要渲染一个 div 或 span 才能正常工作。由于这些元素都不能在表格行之间呈现,因此 UpdatePanel 没有占位符来呈现回发响应 html,因此它不起作用。

在您的情况下,一种解决方法可能是查看页面的哪个部分不需要位于更新面板内并将其留在外面。您可以只保留<td colspan="2">UpdatePanel 中的内容。

于 2014-06-20T08:13:17.997 回答
0
<asp:ScriptManager ID="scm" runat="server">
</asp:ScriptManager>
<fieldset>
<legend>Truck Master Entry Form</legend>
<asp:UpdatePanel ID="upd1" runat="server">
<ContentTemplate>
<table cellpadding="2" cellspacing="1">
<tr>
                    <td align="right">
                        Truck no :
                    </td>
                    <td align="left">
                        <asp:TextBox ID="truckno" runat="server" Width="120px" Height="20px" />
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        Size :
                    </td>
                    <td align="left">
                        <asp:DropDownList ID="drptrucksize" runat="server" Width="120px" Height="20px" DataValueField="WEIGHT"
                            DataTextField="SIZE" OnSelectedIndexChanged="drptrucksize_SelectedIndexChanged"
                            AutoPostBack="true" />
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        Type :
                    </td>
                    <td align="left">
                        <asp:TextBox ID="txttrucktype" runat="server" Width="120px" Height="20px" />
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        Weight :
                    </td>
                    <td align="left">
                        <asp:TextBox ID="txtweight" runat="server" Width="120px" Height="20px" />
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        &nbsp;
                    </td>
                    <td align="left">
                        <asp:Button ID="btnsave" runat="server" Text="Save" Width="100px" Height="50px" />
                        <asp:Button ID="btncancel" runat="server" Text="Cancel" Width="100px" Height="50px" />
                    </td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
于 2015-04-05T12:09:03.547 回答
0

更新面板需要放在桌子外面。看着

Mohammad Shahnawaz 的密码。

于 2015-07-01T11:04:57.570 回答