PDA

View Full Version : سوال: نحوه ی استفاده ی همزمان از ScriptManager و ToolkitScriptManager در یک صفحه



b.i.r.i.y.a
یک شنبه 18 آبان 1393, 12:52 عصر
سلام. من در یک صفحه از Extender های Ajax Toolkit و همچنین Update Panel آژاکس استفاده کردم :


<asp:Content ID="Content2" ContentPlaceHolderID="section_cph" runat="Server">
<asp:ScriptManager ID="ScriptManager2" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div class="post">
<asp:ToolkitScriptManager ID="ToolkitScriptManager2" runat="server">
</asp:ToolkitScriptManager>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server" Enabled="True" TargetControlID="TextBoxRandomQuestion" WatermarkText="Error!" WatermarkCssClass="textBox textBoxWatermark">
</asp:TextBoxWatermarkExtender>
</div>
</ContentTemplate>
</asp:UpdatePanel>


وقتی اجرا میکنم این ارور رو میده :

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

ظاهرا میگه نمیشه همزمان از Extender های Ajax Toolkit و Update Panel استفاده کرد. ولی خب چرا؟!
من این مشکل رو قبلا هم داشتم و هربار مجبور شدم بیخیال استفاده از Extender های Ajax Toolkit بشم. ولی اینبار دیگه نمیتونم بیخیالش بشم!
لطفا راهنماییم کنید.

با سپاس.

b.i.r.i.y.a
دوشنبه 03 آذر 1393, 00:04 صبح
یعنی هیچکس نمیدونه!؟
لطفا راهنماییم کنید :-(

b.i.r.i.y.a
چهارشنبه 05 آذر 1393, 10:25 صبح
:گریه::ناراحت::عصبانی++:

ara.sante
چهارشنبه 05 آذر 1393, 21:15 عصر
دوست عزیز ScriptManager رو پاک کن. فقط ToolkitScriptManager باشه کافیه. همه کنترل ها کار می کنن هم update panel.

b.i.r.i.y.a
پنج شنبه 06 آذر 1393, 00:32 صبح
مرسی دوست عزیز.
همونطور که گفتید ScriptManager رو حذف کردم. حالا دیگه خطا نمیده، کنترل های AjaxToolkit هم کار میکنن، ولی UpdatePanel کار نمیکنه!!!

چیکارش کنم؟!!! :عصبانی++:

ara.sante
پنج شنبه 06 آذر 1393, 09:53 صبح
ToolkitScriptManager رو بیرون update panel قرار بده, هر چند اگه داخل هم باشه باید کار کنه! پروژه رو یه Rebuild کن اون هم شاید بی تاثیر نباشه! اگه نشد سورس صفحه رو بزار.

b.i.r.i.y.a
پنج شنبه 06 آذر 1393, 10:32 صبح
یا ابوالفضل!!!

TSM رو بیرون از UP قرار دادم بازهم نشد.
پروژه رو ReBuild کردم کلا ترکید! :عصبانی++::گریه:
اینم خطای جدید بعد از rebuild کردن :

126075

اینم سورس صفحه :

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/ManagementMasterPage.master" AutoEventWireup="true" Inherits="Estate_Agency.WebPages.WebPagesContatctUs" CodeBehind="contatctUs.aspx.cs" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>


<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="../css/contactUsStyle.css" rel="stylesheet" />
<%--<script>
document.write('<link href="../css/contactUsStyle.css?r=' + Math.floor(Math.random() * 100) + '" rel="stylesheet" type="text/css" />');
</script>--%>
</asp:Content>


<asp:Content ID="Content3" ContentPlaceHolderID="section_cph" runat="Server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="post">
<br />
<label class="labelPostHeader">فرم ارتباط با مدیریت</label>
<br />
<table border="0" dir="rtl">
<tr>
<td class="rightColumn">نام : </td>
<td class="leftColumn">
<asp:TextBox ID="TextBoxName" runat="server" CssClass="textBoxFarsi"></asp:TextBox></td>
</tr>
<tr>
<td class="rightColumn">ایمیل : </td>
<td class="leftColumn">
<asp:TextBox ID="TextBoxEmail" runat="server" CssClass="textBoxEnglish"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBoxEmail" ErrorMessage="ایمیل وارد شده، معتبر نیست" ToolTip="این ایمیل، معتبر نیست" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBoxEmail" ErrorMessage="ایمیل را وارد کنید">فیلد اجباری</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="rightColumn">عنوان نامه : </td>
<td class="leftColumn">
<asp:TextBox ID="TextBoxSubject" runat="server" CssClass="textBoxFarsi"></asp:TextBox></td>
</tr>
<tr>
<td class="rightColumn">متن نامه : </td>
<td class="leftColumn">
<asp:TextBox ID="TextBoxTxt" runat="server" CssClass="textBoxFarsi textBoxMultiLine" TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBoxTxt" ErrorMessage="متن نامه را وارد کنید" Text="*">فیلد اجباری</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="rightColumn">عبارت تصادفی : </td>
<td class="leftColumn">
<div class="divRandomQuestion">
<asp:Label ID="labelRandomQuestion" runat="server" Text="متن سؤال تصادفی" CssClass="labelRandomQuestion"></asp:Label>
</div>
</td>
</tr>
<tr>
<td class="rightColumn"></td>
<td class="leftColumn">
<asp:TextBox ID="TextBoxRandomQuestion" runat="server"></asp:TextBox>
<asp:TextBoxWatermarkExtender ID="TextBoxRandomQuestion_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="TextBoxRandomQuestion" WatermarkText="عبارت تصادفی را به صورت عدد در این کادر بنویسید" WatermarkCssClass="textBox textBoxWatermark">
</asp:TextBoxWatermarkExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TextBoxRandomQuestion" ErrorMessage="سؤال تصادفی را پاسخ دهید">فیلد اجباری</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="rightColumn">&nbsp;</td>
<td class="leftColumn">
<asp:Button ID="buttonSendMessage" CssClass="button buttonSendMessage" runat="server" Text="ارسال پیام" OnClick="buttonSendMessage_Click" /></td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="labelPostFooter" runat="server" Text="Label" CssClass="labelPostFooter"></asp:Label>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableViewState="False" CssClass="labelPostFooter" />
</td>
</tr>
</table>
<br />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

b.i.r.i.y.a
پنج شنبه 06 آذر 1393, 10:45 صبح
خب!
این مشکلی که تو پست قبل گفتم با کپی کردن AjaxMin.dll درون پوشه ی Bin پروژه برطرف شد اما با rebuild بعدی دوباره به وجود اومد!!!

مشکل کار نکردن UpdatePanel هم هنوز حل نشده. :گریه::عصبانی++:

راه حلی به ذهنتون میرسه؟

سورس صفحه رو هم که تو پست قبل گذاشتم.

ara.sante
پنج شنبه 06 آذر 1393, 11:38 صبح
دوست عزیز ChildrenAsTriggers="true" رو توی update panel اضافه کن. پروژه رو هم اگه رو حالت Release هست روی Debug قرار بده. امیدوارم درست بشه.

b.i.r.i.y.a
پنج شنبه 06 آذر 1393, 12:31 عصر
اینا که بصورت پیشفرض خودشون اینجوری هستن که!!! ببین:

126079

126080

فایل
AjaxMin.dll رو از یه جای دیگه گیر اوردم و درون پوشه ی Bin پروژه کپی کردم فعلا که اون مشکل ajaxMin.dll برطرف شده انگار. مثل اینکه فایلش مشکل داشت چون با هربار rebuid خودبخود حذف میشد!!! من خودمم تا حالا همچین چیزایی ندیده بودم باور کنید!

اما بهرحال مشکل کار نکردن UpdatePanel هنوز پا بر جاست
:عصبانی++:

b.i.r.i.y.a
پنج شنبه 06 آذر 1393, 12:36 عصر
ببینید من میخوام زمانی که کاربر دکمه ی ارسال پیام رو میزنه چه پیامش ارسال بشه و چه ارسال نشه (به خاطر فعال شدن Require Validator ها) در هر صورت صفحه scroll نشه. بخاطر همین هم از UpdatePanel استفاده کردم. یه سایت نمونه دارم که توی اون از همین روش استفاده کرده و صفحه اسکرول نمیشه به سمت ابتدای صفحه، ولی نمیدونم چرا اینو هرکاریش میکنم بازم با هر بار فشردن دکمه ی ارسال پیام، اسکرول میشه به سمت ابتدای صفحه، مثل زمانی که صفحه Refresh میشه!

ara.sante
پنج شنبه 06 آذر 1393, 13:37 عصر
عجیبه!!! چیزه دیگه ای به ذهنم نمیرسه! میخوای آخرین ورژن AjaxToolkit رو دانلود کن شاید این باگ رو درست کرده باشن چون من سورس کد شما رو تست کردم درست کار کرد! AjaxToolkit رو هم تازه دانلود کردم!

b.i.r.i.y.a
جمعه 07 آذر 1393, 01:19 صبح
اتفاقا من هم از آخرین ورژن آژاکس تولکیت استفاده میکنم. ولی اینجوریه دیگه ، داره بازی در میاره.

پست قبلیمو خوندی؟
متوجه شدی میخوام چه کاری انجام بدم؟
مسیری که رفتم درسته اصلا؟
شما که تستش کردی واسه شما اسکرول میشه یا نه؟