PDA

View Full Version : مشکلاتی داریم با ابزار ajax Control Toolkit



rational unified process
شنبه 30 آذر 1392, 02:44 صبح
سلام
اربعین حسینی را پیشاپیش به پیشگاه حضرت بقیه الله الاعظم روحی و ارواحنا له الفداه و عموم شیعیان و سادات کرام تسلیت و تعزیت عرض میکنم.

یه سوال دارم در رابطه با کنترلهای ajax Control Toolkit.
یک صفحه aspx دارم و یه یوزر کنترل ascx.
داخل صفحه aspx یه script manager دارم.

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>


داخل یوزر کنترل :


<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>


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

<asp:TextBox ID="txtComment" runat="server" TextMode="MultiLine"></asp:TextBox>

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

<asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="txtComment">
</asp:HtmlEditorExtender>

</ContentTemplate>
</asp:UpdatePanel>


اجراش که میکنم این ارور میاد :



Only one instance of a ScriptManager can be added to the page.

حالا اگه تگ ToolkitScriptManager رو از صفحه یوزر کنترلم حذف کنم
-------------------------------------------

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>

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

<asp:TextBox ID="txtComment" runat="server" TextMode="MultiLine"></asp:TextBox>

<asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="txtComment">
</asp:HtmlEditorExtender>

</ContentTemplate>
</asp:UpdatePanel>


اجراش که میکنم این خطا میاد :




Sanitizer provider is not configured in the web.config file. If you are using the HtmlEditorExtender with a public website then please configure a Sanitizer provider. Otherwise, set the EnableSanitization property to false.

چکار کنم ؟

این کارو هم کردم بازم نشد:
توی Aspx نوشتم :

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


توی صفحه یوزر کنترلم نوشتم :

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>

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

<asp:TextBox ID="txtComment" runat="server" TextMode="MultiLine"></asp:TextBox>

<asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="txtComment">
</asp:HtmlEditorExtender>

</ContentTemplate>
</asp:UpdatePanel>


این بار هم خطای اونوقتی اومد :





Sanitizer provider is not configured in the web.config file. If you are using the HtmlEditorExtender with a public website then please configure a Sanitizer provider. Otherwise, set the EnableSanitization property to false.

جستجو کردم گفتند ان کد رو بذار توی وب کانفیگ



<sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider"> <providers> <add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSaniti zerProvider"></add> </providers> </sanitizer>
ولی تگ sanitzer توسط فایل web.config شناخته نمیشه؟

گمونم سوال نکنم بهتره .بجای اینکه شما جواب بدین ،من خودم راههای مختلف رو نوشتم:بامزه:

ali.n93
شنبه 30 آذر 1392, 10:17 صبح
یه نکته کلی که وجود داره اینه که توی یه صفحه بیشتر از یک عدد از انواع ScriptManager رو نمیتونید استفاده کنید.
بنابراین با توجه به این که هم از UpdatePanel استفاده کردید هم از Toolkit باید از کد زیر استفاده کنید و البته این کد باید بالای صفحه و قبل از همه کنترل هایی که به اون نیاز دارند (updatepanel و ...) قرار بگیره

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


در ضمن اگه از MasterPage هم استفاده میکنید دقت کنید که ScriptManager نباید هم توی مسترپیج باشه هم صفحه ای که از مسترپیج استفاده کرده