2013-08-26 32 views
1

我已经安装了Ajax扩展并添加了对应用程序的引用。我面临着很奇怪的问题,我的母版页接受阿贾克斯扩展工具,其中像我的内容页抛错误“元素的ScriptManager/UpdatePanel的不是一个已知的元素。”Ajax扩展适用于主页面,但不适用于内容页面

My WebConfig: 
<?xml version="1.0"?><configuration> 

    <system.web> 
    <customErrors mode="Off"> 

    </customErrors> 
    <authentication mode="Windows"/> 
    <pages> 
    <controls> 
     <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
    </controls> 
    </pages> 

    </system.web> 
    </configuration> 


My contentPage: 
<%@ Page Language="C#" MasterPageFile="~/yuva.master" AutoEventWireup="true" CodeBehind="PicSave.aspx.cs" Inherits="YuvaRK12.PicSave" %> 


<asp:Content ID="MypicSave" runat="server" ContentPlaceHolderID= "MainCPH" > 
<table id="Main" style="width:100%; height:350px; background-color:White;"><tr><td> 

<asp:Label ID="lbl1" runat="server"></asp:Label> 
<asp:Label ID="vis" runat="server" ></asp:Label> 

    <table id="Photo" style=" margin-left:auto; margin-right:auto;"> 
    <tr><td> 
     <asp:FileUpload ID="FileUpload1" runat="server" /> 

    </td></tr> 
    <tr><td> 

     <input id="ImageBT" 
       type="button" 
       value="Upload Image" 
       runat="server" 
       onserverclick="ImageBT_ServerClick" style=" float:left;" /> 

    </td></tr><tr><td style="border-style:ridge; border-width:3px;"> 
    <center> 

     <asp:Image id="MyImg" runat="server" 
        style="width:150px; 
        height:150px;" 
        BorderStyle="solid" 
        BorderWidth="1px"/> 
    </center> 
    </td></tr></table> <!-- Photo End Here--> 

    <center> 
    <table><tr><td> 
    <asp:Button ID="SBtn" runat="server" 
       Text="Submit" BorderStyle="ridge" 
       BorderWidth="4px" 
       OnClick="SBtn_Click" /> 
    </td></tr></table> 
    </center> 

    </td></tr></table><!--Main End here--> 
    </asp:Content> 

我是缺少在这里?非常奇怪的Ajax拓正在与母版页,但不与内容页!什么是它的解决方案?.

回答

0

我已经利用黄金两周来解决这个难题,并最终取得成功。我已经搜索了大部分文章中提到的许多文章,如上所述,这会给像我这样的新手带来误解。

解决的办法是:

<pages> 
<controls> 
    <add tagPrefix="ajax" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
</controls> 

在栏目页面“ASP”到“AJAX”的改变/ web.config配置的控制将导致你完全控制了在阿贾克斯延伸现有的Asp.Net Web应用程序。

2

YES。您可以在Web应用程序中使用AJAX,而无需安装Ajax工具包

要使用AJAX在你的Web应用程序中,可以使用预定义的库,你可以找到这些控件在工具箱中的“AJAX Extensions”下。使用脚本管理器更新面板将部分回发到服务器。

<form id="form1" runat="server"> 
<div> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
     <asp:Button ID="Button1" runat="server" Text="Button" /> 
    </ContentTemplate> 
    </asp:UpdatePanel> 
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
</div> 
</form> 

在的onclick Button1的的Label1的上面的代码将被传递到服务器,并且不Label2的。更新面板之外的任何控件都不会进入服务器,因此它是部分回发。

您可以探索更多关于触发器以及使AJAX回调更有效。

注意: AJAX工具包用于高级控件,如手风琴,动画等。您不需要它们用于简单的基于AJAX的Web应用程序。

+0

hnDabhi,工具箱显示Ajax扩展名,但是当我拖放它到页面时,它似乎无法控制,显示没有属性显示在关注控件上,如脚本管理器和更新面板以及错误下划线。 –

+0

你可以分享一些你的代码,错误或截图;什么?以便它将问题扩大给我。 – hnDabhi

+0

注意: - 它是在Asp.net Web应用程序不是Ajax启用应用程序 –

相关问题