现在的位置: 首页 > 综合 > 正文

updatepanel应用之属性介绍

2016年11月07日 ⁄ 综合 ⁄ 共 2139字 ⁄ 字号 评论关闭

rendermode属性:

-block(默认)    html中显示模式为div

-inline         html中显示模式为span

updatemode属性:

-always(默认)  如果将UpdateMode属性设为"always",则每次发生页面回发的时候,该UpdatePanel都会刷新。这里的页面回发包括由其他UpdatePanel里的控件或不在UpdatePanel里的控件产生的回发。

-conditional 

2.conditional:若UpdateMode被设为conditional,则该UpdatePanel会在下列情况被刷新:        

 (1) 由触发器引起的刷新,如下所示:

 

<asp:UpdatePanel ID="up2" runat="server" UpdateMode="conditional">
    <ContentTemplate>
        always UpdatePanel:
        <asp:Label ID="lblAlwaysTime" runat="server"></asp:Label>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnShowTime" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>
通过在UpdatePanel里设置触发器可以指定特定的按钮来刷新该UpdatePanel.上例中就给UpdatePanel设置了一个触发器,该触发器关联的控件是"btnShowTime",关联的事件是 "Click"。一个UpdatePanel可以设置多个触发器,关于触发器更深一步的知识我想以后会慢慢了解。     

 (2) 调用UpdatePanel的Update()方法:

 

    protected void btnShowTime_Click(object sender, EventArgs e)
    {
        lblTime.Text = DateTime.Now.ToString();
        lblAlwaysTime.Text = DateTime.Now.ToString();
        up2.Update();
    }
   

 (3) 当该UpdatePanel在其他UpdatePanel里面,并且父容器更新的时候:

 

<asp:UpdatePanel ID="up1" runat="server">
    <ContentTemplate>
        <asp:Label ID="lblTime" runat="server"></asp:Label><br />
        <asp:Button ID="btnShowTime" runat="server" Text="ShowTime" OnClick="btnShowTime_Click" />
        <asp:UpdatePanel ID="up2" runat="server" UpdateMode="conditional">
            <ContentTemplate>
                always UpdatePanel:
                <asp:Label ID="lblAlwaysTime" runat="server"></asp:Label>
            </ContentTemplate>
        </asp:UpdatePanel>
    </ContentTemplate>
</asp:UpdatePanel>
 

    (4) 当 ChildrenAsTriggers 属性为true,UpdatePanel 内的控件产生回发时。因为默认情况下ChildrenAsTriggers的值为true ,可以省略,此是UpdateMode不管为always还是conditional效果是一样的。需要注意的是子UpdatePanel里的控件并不会引起父UpdatePanel的更新,需要显示的申明为触发器或者调用父UpdatePanel的Update()方法。

 

ChildrenAsTriggers:获取或设置一个值,该值指示来自 UpdatePanel 控件的即时子控件的回发是否更新面板的内容。

 

Triggers有两种AsyncPostBackTrigger,PostBackTrigger。
AsyncPostBackTrigger
来指定某个控件的某个事件引发异步回传(asynchronous postback),即部分更新。属性有ControlID和EventName。分别用来指定控件ID和控件事件,若没有明确指定EventName的值,则自动采用控件的默认值,比如button就是click。把ContorlID设为UpdatePanel外部控件的ID,可以使外部控件控制UpdatePanel的更新。
PostBackTrigger
来指定UpdatePanel内的某个控件引发整个页面的更新(normal postback)。

 

抱歉!评论已关闭.