PDA

View Full Version : سوال: اجرای page_load به دلخواه



سیروس مقصودی
سه شنبه 13 بهمن 1394, 12:56 عصر
با سلام

من در page_load صفحه ام یکسری دستور نوشته ام من میخواهم این دستورات فقط یکبار اجرا شود و آن هم زمانی است که صفحه باز میشود . نه اینکه هربار کلیدی را که در صفحه وجود دارد , میزنم صفحه رفرش شود . برای رفع این مشکل راه حلی وجود دارد .

mojtaba_apadana
سه شنبه 13 بهمن 1394, 18:17 عصر
سلام.
برای اینکه هروقت کاربر کلیدی رو فشار داد تنها کد همون قسمت اجرا بشه باید از تکنیک AJax که ویژوال استدو برات فراهم کرده استفاده کنی.
موفق باشی

حسین.کاظمی
سه شنبه 13 بهمن 1394, 18:25 عصر
سلام
طبق گفته دوستمون اینکار فقط به دست Ajax حل مشه........
یعنی تکنولوژی Ajax برای همین کار ظهور کرده:لبخند:

mojtaba_apadana
سه شنبه 13 بهمن 1394, 18:54 عصر
شما بایستی از یک کنترل ScriptManager ، برای فعال سازی قابلیت های Ajax زیر در صفحات ASP.Net استفاده نمایید :
√ به روز رسانی و تغییر فقط بخشی از صفحه که می خواهید تغییر کند ، به جای Postback شدن کل آن . کنترل های UpdatePannel و UpdateProgress و Timer برای کارکرد صحیح بر روی صفحات ASP.Net ، به یک کنترل ScriptManager نیاز دارند .
√ امکان دسترسی کلاس های جاوا اسکریپت به سایر اطلاعات صفحات ASP.Net ، مثل اطلاعات اهراز هویت کاربر ، پروفایل ها و ... .
√ دسترسی کلاس های جاوا اسکریپت به وب سرویس های فعال بر روی صفحات ASP.Net . هنگامی که صفحه شامل یک یا چندین کنترل UpdatePannel می باشد ، کنترل ScriptManager ، انجام عملیات به روز رسانی و تغییر اطلاعات در آنها را مدیریت می کند . این کنترل با متدهای حیات صفحه ( Page life cycles ) ، برای به روز رسانی بخش های مختلف کنترل UpdatePannel در ارتباط است .
خاصیت EnablePartialRendering ، تعیین می کند که آیا اطلاعات به روز رسانی و تغییر در صفحه بدون Postback شدن آن فعال باشد یا خیر . به طور پیش فرض ، این مقدار بر روی true تنظیم شده و فعال است .


دستور زیرنحوه تعریف و استفاده از یک کنترل ScriptManager و UpdatePannel را به صورت همزمان نشان می دهد . کنترل UpdatePannel (http://sitedesign-co.com/%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%B3%D8%A7%DB%8C%D8%AA/%DA%A9%D9%86%D8%AA%D8%B1%D9%84-UpdatePanel) شامل یک دکمه فرمان است که در هنگام کلیک بر روی آن ، محتویات درون UpdatePannel به روز می شود . به صورت پیش فرض مقدار خاصیت ChildrenAsTriggers کنترل UpdatePannel (http://sitedesign-co.com/%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%B3%D8%A7%DB%8C%D8%AA/%DA%A9%D9%86%D8%AA%D8%B1%D9%84-UpdatePanel) بر روی مقدار true تنظیم شده و همین باعث می شود تا کلیک بر روی دکمه فرمان که یک کنترل فرزند UpdatePannel است ، باعث آپدیت محتویات آن شود .



<asp:Button ID="Button1" Text="Refresh Panel" runat="server" />
<asp:ScriptManager ID="ScriptManager1" runat="server" />

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
<ContentTemplate>
<fieldset>
<legend>UpdatePanel content</legend>
<%=DateTime.Now.ToString() %>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>

سیروس مقصودی
چهارشنبه 14 بهمن 1394, 08:14 صبح
با تشکر .......

سیروس مقصودی
چهارشنبه 14 بهمن 1394, 08:27 صبح
با تشکر

من تازه کارم . لطف میکنید نحوه استفاده از ajax را بگوئید . چگونه و به ترتیب button , scriptManager را در صفحه بیاورم .