如何切换到不同的AJAX上的ASP.NET按钮服务器端的点击? [英] How can I switch to a different ajax on a click of an ASP.NET button server side?

查看:170
本文介绍了如何切换到不同的AJAX上的ASP.NET按钮服务器端的点击?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一组标签的容器,我可以通过手动点击选项卡或通过使用JavaScript之间自由移动标签;然而,我想要做的是使用ASP.NET服务器端按钮选项卡之间切换。

因此​​,这里的布局。标签1有一个ASP.NET按钮,其中,点击后,应及时到表2和在GridView显示查询结果。这里的onclick code为ASP.NET按钮:

 保护无效btnOutstandingTasks_Click(对象发件人,EventArgs的发送)
    {
        尝试
        {
            所有优秀的门票//加载任务列表
            SqlDSOutstanding.SelectParameters.Clear();
            SqlDSOutstanding.SelectParameters.Add(1,输入code.Int64,3);            gvxTaskList.DataSourceID = NULL;
            gvxTaskList.DataSource = SqlDSOutstanding;
            gvxTaskList.DataBind();
            upnlTask​​List.Update();            DispatchTabs.ActiveTabIndex = DispatchTabs.ActiveTabIndex + 1;        }
        赶上(异常前)
        {        }
    }

不知道为什么它不工作,但我想有人在那里知道如何做到这一点。鸭preciate的帮助!

和这里的客户端显示该标签的容器是一个更新面板内。

 < ASP:的UpdatePanel ID =upnlDispatch的UpdateMode =条件=服务器>
        <&触发器GT;< /触发器>
        <&的ContentTemplate GT;
            < ajaxToolkit:TabContainer的ID =DispatchTabs=服务器HEIGHT =100%WIDTH =100%的CssClass =标签ActiveTabIndex =0>
                < ajaxToolkit:ID的TabPanel =tabDashboard=服务器的HeaderText =仪表盘WIDTH =100%HEIGHT =100%>
                    <&HeaderTemplate中GT;
                        仪表板
                    < / HeaderTemplate中>
                    <&的ContentTemplate GT;
                        < ASP:的UpdatePanel ID =upnlDashboard的UpdateMode =条件=服务器>
                            <&的ContentTemplate GT;


解决方案

把标签容器更新面板内应该做的伎俩。此外,目前的code有一个缺陷,你不希望永远只加1 ActiveIndex标签,因为如果你超越最后一个,你会得到一个超出范围的异常。

 如果(DispatchTabs.ActiveTabIndex == DispatchTabs.Count()-1)
{
   DispatchTabs.ActiveTabIndex = 0;
}
其他
{
   DispatchTabs.ActiveTabIndex = DispatchTabs.ActiveTabIndex + 1;
}

I have a set of tabs in a tab container that I can move between freely by manually clicking on the tabs or by using a javascript; however, what I want to do is to switch between tabs using an ASP.NET serverside button.

So here's the layout. Tab 1 has an ASP.NET Button, which, when clicked, should go to Tab 2 and display the results of a query in a gridview. Here is the onclick code for the ASP.NET Button:

    protected void btnOutstandingTasks_Click(object sender, EventArgs e)
    {
        try
        {
            // Load task list by all outstanding tickets
            SqlDSOutstanding.SelectParameters.Clear();
            SqlDSOutstanding.SelectParameters.Add("1", TypeCode.Int64, "3");

            gvxTaskList.DataSourceID = null;
            gvxTaskList.DataSource = SqlDSOutstanding;
            gvxTaskList.DataBind();
            upnlTaskList.Update();

            DispatchTabs.ActiveTabIndex = DispatchTabs.ActiveTabIndex + 1;   

        }
        catch (Exception ex)
        {

        }
    }

Not sure why its not working, but i imagine someone out there knows how to do it. Appreciate the help!

And here is the client side showing that the tab container is inside an update panel.

        <asp:UpdatePanel ID="upnlDispatch" UpdateMode="Conditional" runat="server">
        <Triggers></Triggers>
        <ContentTemplate>
            <ajaxToolkit:TabContainer ID="DispatchTabs" runat="server" Height="100%" Width="100%" CssClass="Tab" ActiveTabIndex="0">
                <ajaxToolkit:TabPanel ID="tabDashboard" runat="server" HeaderText="Dashboard" Width="100%" Height="100%">
                    <HeaderTemplate>
                        Dashboard
                    </HeaderTemplate>
                    <ContentTemplate>
                        <asp:UpdatePanel ID="upnlDashboard" UpdateMode="Conditional" runat="server">
                            <ContentTemplate>                   

解决方案

Putting the tab container within an update panel should do the trick. Also, currently your code has a flaw, you don't want to always just add 1 to the ActiveIndex tab because you will get an out of range exception if you go beyond the last one.

if(DispatchTabs.ActiveTabIndex == DispatchTabs.Count() -1)
{
   DispatchTabs.ActiveTabIndex = 0;
}
else
{
   DispatchTabs.ActiveTabIndex = DispatchTabs.ActiveTabIndex + 1;  
}

这篇关于如何切换到不同的AJAX上的ASP.NET按钮服务器端的点击?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆