部分邮寄不起作用

时间:2014-02-13 17:12:10

标签: c# asp.net

大家好,我正在使用第一次更新面板部分回发概念,但我无法实现这已经尝试了很多这样做,但每当它在后期调整时,我正在调试时。这是我可以任何一个人面对这里的问题是我的代码。

我希望当dropdownlist索引更改事件触发时不会使用fullpostback附加我的代码。

的aspx: -

asp:UpdatePanel ID="ProjectPanel" runat="server" >
                    <ContentTemplate>
                        <asp:Panel ID="Panel1" runat="server">
                            <tr>
                                <td>
                                    <asp:Label ID="Label10" runat="server" Text="Projects:" Font-Bold="True" CssClass="label2"></asp:Label>
                                    <asp:DropDownList ID="ProjectsDropDownList" CssClass="txt-input-class" Height="20px"
                                            Width="191px" runat="server" DataSourceID="ProjectDataSource" 
                                        DataTextField="Name" DataValueField="Id"
                                        onselectedindexchanged="ProjectsDropDownList_SelectedIndexChanged" 
                                        AutoPostBack="true">
                                    </asp:DropDownList>
                                </td>
                            </tr>
                        </asp:Panel>
                    </ContentTemplate>      
                 </asp:UpdatePanel>


 <asp:SqlDataSource ID="ProjectDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:LocalSqlServer %>"
                    ProviderName="<%$ ConnectionStrings:LocalSqlServer.ProviderName %>"
                    SelectCommand="SELECT [Id], [Name], [Description], [IsActive], [CreateDate], [ModifyDate], [CreatedBy] FROM [Projects]">
                </asp:SqlDataSource>

aspx.cs

protected void ProjectsDropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {
        Console.Write("Project");
    }

3 个答案:

答案 0 :(得分:1)

ASP.NET将IsPostBack设置为true以进行部分回发(因为它们仍然是回发)。

检查scriptManager.IsInAsyncPostBack属性值以检测部分回发,而不是Page.IsPostBack

答案 1 :(得分:0)

在页面中包含脚本管理器并提及UpdateMode

    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
        <ContentTemplate>

                 //your controls to be updated

         </ContentTemplate>
    </asp:UpdatePanel>

答案 2 :(得分:0)

要验证回发是否作为UpdatePanel的一部分发生,请检查以下内容 -

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)

每次回发是全部还是部分都会将IsPostback属性设置为true。