ASP.NET MVC视图上的AJAX控件工具包TabPanel提供了一个HttpException“当使用自定义TextWriter时,OutputStream不可用”。

时间:2010-07-21 03:55:17

标签: visual-studio-2008 asp.net-mvc-2 asp.net-ajax

我按照附带的说明安装了AJAX Control Toolkit,并且我正在尝试将带有几个TabPanel的TabContainer添加到ASP.NET MVC应用程序中的视图中。这可能吗?我可以让TabContainer和TabPanel控件在Webforms应用程序中工作,但不能在MVC中工作。

在我的一个观点中,我有以下代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.Class1>" %>

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxToolkit" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Create
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <form id="form1" runat="server">

    <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </ajaxToolkit:ToolkitScriptManager>

    <h2>Create</h2>

    <ajaxToolkit:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="1">

        <ajaxToolkit:TabPanel runat="server" HeaderText="TabPanel1" ID="TabPanel1">
        <ContentTemplate>
        </ContentTemplate>
        </ajaxToolkit:TabPanel>

        <ajaxToolkit:TabPanel ID="TabPanel2" runat="server" HeaderText="TabPanel2">
        <ContentTemplate>
        </ContentTemplate>
        </ajaxToolkit:TabPanel>

    </ajaxToolkit:TabContainer>

    </form>

</asp:Content>

上面给出了一个HttpException“当使用自定义TextWriter时,OutputStream不可用。”保持TabContainer但删除TabPanel不会引发任何错误。

有什么建议吗?

感谢。

2 个答案:

答案 0 :(得分:1)

ajax控件工具包与ASP.NET WebForms紧密耦合,后者通常不能与MVC一起使用。您可能最好使用jQuery UI之类的东西:http://jqueryui.com/demos/tabs/

答案 1 :(得分:0)

我想我在What is causing this error? Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper'

找到了答案

AJAX Control Toolkit控件是服务器控件,ASP.NET MVC不支持。

看起来最好的选择是直接使用控件工具包中的javascript,或者像marcind建议的那样使用JQuery之类的其他Javascript。