PDA

View Full Version : سوال: هنگام استفاده از update panel بدون استفاده ازasp:PostBackTrigger صفحه رفرش نشه



agha ehsan
دوشنبه 11 خرداد 1394, 15:04 عصر
من یک fileupload خارج از آپدیت پنل دارم که میخوام از خاصیت fileupload1.filename اون استفاده کنم ، درون asp:AsyncPostBackTrigger هم دکمه ثبت رو گذاشتم تا فایل آپلود شده رو درون یک گرید ویو نشون بده، اما با زدن دکمه ثبت ، fileupload1.filename چیزی رو نشون نمیده
ولی اگربه جای asp:PostBackTrigge ، asp:AsyncPostBackTrigge بذارم مشکلم حل میشه ولی صفحه رفرش میشه....
لطفا کمکم کنید
اینم کدم:
<asp:ImageButton ID="btn_add" ImageUrl="~/image/ADDD.png" runat="server" />
<asp:ImageButton ID="btn_del" ImageUrl="~/image/ButtonImage/-.png" runat="server" />
&nbsp;
<asp:Label ID="lbl_msg_peyvast" runat="server" Font-Bold="true" ForeColor="red" Visible="false"></asp:Label>
&nbsp;


<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView2" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input id="chkAll" runat="server" type="checkbox" onclick="toggleCheckBoxes(this, cnt)" />
</HeaderTemplate>
<ItemTemplate>
<input id="chk" runat="server" type="checkbox" class="check" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>

<asp:Label ID="Label27" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Label23" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
<Triggers>
<%--<asp:PostBackTrigger ControlID="btn_add"/>--%>
<asp:AsyncPostBackTrigger ControlID="btn_add" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
و اینم کد سمت سرور:
Protected Sub btn_add_Click(sender As Object, e As EventArgs) Handles btn_add.Click
Label23.Text = MultiFileUpload.FileName

salar IT man
دوشنبه 11 خرداد 1394, 15:35 عصر
وقتی فایل آپلود خارج از UpdatePanel امکان ندارد به صورت ناهمزمان کاری که میخوایین انجام بشود.
هر چیزی که درون UpdatePanel است هنگام Submit شدن به سمت سرور ارسال میشود. دلیل اینکه هنگام PostBack شدن مشکل رفع میشود هم به خاطر این است که در آن حالت تمام کنترل های به سمت سرور ارسال میشوند و فقط محدود به محتوای UpdatePanel نیست

بیشتر بخونید اینجا
http://www.asp.net/web-forms/overview/older-versions-getting-started/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers

agha ehsan
دوشنبه 11 خرداد 1394, 15:48 عصر
وقتی فایل آپلود خارج از UpdatePanel امکان ندارد به صورت ناهمزمان کاری که میخوایین انجام بشود.
هر چیزی که درون UpdatePanel است هنگام Submit شدن به سمت سرور ارسال میشود. دلیل اینکه هنگام PostBack شدن مشکل رفع میشود هم به خاطر این است که در آن حالت تمام کنترل های به سمت سرور ارسال میشوند و فقط محدود به محتوای UpdatePanel نیست

بیشتر بخونید اینجا
http://www.asp.net/web-forms/overview/older-versions-getting-started/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers

من فایل آپلود رو درون آپدیت پنل گذاشتم اما فرقی نکرد

salar IT man
دوشنبه 11 خرداد 1394, 15:56 عصر
کد رو مرتب بذارین اینجا

agha ehsan
دوشنبه 11 خرداد 1394, 16:00 عصر
کد رو مرتب بذارین اینجا

<asp:ImageButton ID="btn_add" ImageUrl="~/image/ADDD.png" runat="server" />
<asp:ImageButton ID="btn_del" ImageUrl="~/image/ButtonImage/-.png" runat="server" />
&nbsp;
<asp:Label ID="lbl_msg_peyvast" runat="server" Font-Bold="true" ForeColor="red" Visible="false"></asp:Label>
&nbsp;


<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView2" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input id="chkAll" runat="server" type="checkbox" onclick="toggleCheckBoxes(this, cnt)" />
</HeaderTemplate>
<ItemTemplate>
<input id="chk" runat="server" type="checkbox" class="check" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>

<asp:Label ID="Label27" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Label23" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
<Triggers>
<%--<asp:PostBackTrigger ControlID="btn_add"/>--%>
<asp:AsyncPostBackTrigger ControlID="btn_add" EventName="Click" />
</Triggers>
</asp:UpdatePanel>

salar IT man
دوشنبه 11 خرداد 1394, 16:10 عصر
فایل آپلود شما کجاست دوست من ؟؟!!
فایل آپلود را قرار دهید درون UpdatePanel و
سمت سرور پشت ایونت کلیلک باتن مورد نظر BreakPoint بذارین آیا درخواست سمت سرور میرسد؟

agha ehsan
دوشنبه 11 خرداد 1394, 16:13 عصر
فایل آپلود شما کجاست دوست من ؟؟!!
فایل آپلود را قرار دهید درون UpdatePanel و
سمت سرور پشت ایونت کلیلک باتن مورد نظر BreakPoint بذارین آیا درخواست سمت سرور میرسد؟
گذاشتم و درخواست می رسد اما انگار که درون فایل آپلود چیزی وجود ندارد
اگر میشه خودتون یه تستی بکنید

salar IT man
دوشنبه 11 خرداد 1394, 16:32 عصر
گذاشتم و درخواست می رسد اما انگار که درون فایل آپلود چیزی وجود ندارد
اگر میشه خودتون یه تستی بکنید
کد رو که کامل نذاشتین اینجا
از این استفاده کنید
http://www.aspsnippets.com/Articles/Using-FileUpload-Control-inside-ASP.Net-AJAX-UpdatePanel-Control.aspx

salar IT man
دوشنبه 11 خرداد 1394, 16:48 عصر
این کنترل برای کار کردن نیاز به PostBack کامل دارد

agha ehsan
دوشنبه 11 خرداد 1394, 23:40 عصر
این کنترل برای کار کردن نیاز به PostBack کامل دارد

ممنونم ولی اگه postback کامل رو نخوام ( یعنی فقط یک قسمت از صفحه postback بشه ) باید چکار کنم؟

salar IT man
سه شنبه 12 خرداد 1394, 10:34 صبح
ممنونم ولی اگه postback کامل رو نخوام ( یعنی فقط یک قسمت از صفحه postback بشه ) باید چکار کنم؟

از این سری از کنترل ها استفاده کنید http://ajaxtoolkit.net/asyncfileupload/asyncfileupload.aspx