PDA

View Full Version : سوال: مشکل با gridview در updatepanel



amir_T_2008
یک شنبه 16 شهریور 1393, 05:15 صبح
سلام

دوستان من یک صفحه دارم که در بالا صفحه textbox وجود داره که من میتونم اطلاعات در سایتم اضافه کنم و در پایین همون صفحه یک gridview دارم که اطلاعاتی که وارد شده را نمایش میده حالا مشکل اونجاست با اینکه بعد اینکه اطلاعات وارد میکنم یک دکمه ادامه قرار دادم که صفحه ریفرش کنم اما بازم در gridview اطلاعات من نشون داده نمیشه مگر اینکه از اون صفحه کامل بیام بیرون و دوباره داخل بشم که اطلاعات بروز بشه و به هیچ طریقی در اون صفحه هر چقدر ریفرش کنم بازم اطلاعات آپیدیت نمیشه حالا من از update panel استفاده کردم و کد در پایین قرار میدم اما باز هم همون مشکل پابرجاست

ممنون میشم راهنمایی کنید.




<asp:ScriptManager ID="ScriptManger1" runat="Server" LoadScriptsBeforeUI="true"
EnablePartialRendering="true">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" ScrollBars="Auto" Width="800px">

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="LearnID" DataSourceID="ObjectDataSource2" AllowPaging="True"
BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
CellPadding="4" ForeColor="Black" GridLines="Vertical" Width="100%"
height="120px" PageSize="4" >
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"
HeaderText="مدیریت" />
<asp:BoundField DataField="LearnID" HeaderText="شماره آموزش"
InsertVisible="False" ReadOnly="True" SortExpression="LearnID" />
<asp:BoundField DataField="LearnTitle" HeaderText="عنوان آموزش"
SortExpression="LearnTitle" />
<asp:BoundField DataField="LearnDescr" HeaderText="متن آموزش"
SortExpression="LearnDescr" />
<asp:TemplateField HeaderText="تاریخ و ساعت درج آموزش"
SortExpression="LearnDate">
<EditItemTemplate>


<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LearnDate") %>'></asp:TextBox>

</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# ToShamsi(Convert.ToDateTime(Eval("LearnDate")))%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="LearnViewed" HeaderText="تعداد بازدید"
SortExpression="LearnViewed" />
<asp:BoundField DataField="LearnCat" HeaderText="نوع دسته آموزش"
SortExpression="LearnCat" />
<asp:BoundField DataField="LearnWriter" HeaderText="نام نویسنده"
SortExpression="LearnWriter" />
<asp:BoundField DataField="LearnImage" HeaderText="نام عکس"
SortExpression="LearnImage" />
</Columns>
<FooterStyle BackColor="#CCCC99" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<PagerSettings PageButtonCount="4" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right"
Font-Size="Large" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FBFBF2" />
<SortedAscendingHeaderStyle BackColor="#848384" />
<SortedDescendingCellStyle BackColor="#EAEAD3" />
<SortedDescendingHeaderStyle BackColor="#575357" />
</asp:GridView>


</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>

amir_T_2008
یک شنبه 16 شهریور 1393, 19:08 عصر
دوستان کسی تا حالا به این مشکل بر نخورده؟؟؟

siavash-123
یک شنبه 16 شهریور 1393, 23:20 عصر
با سلام :
به نظر من باید بجای ریفرش کردن صفحه از کد زیر استفاده کنی
GridView1.DataBind();
تا فقط دیتای دیتا گریدت آپدیت بشه دوست عزیز .

افشین ایمانی
یک شنبه 16 شهریور 1393, 23:50 عصر
سلام . کدی که با اون Grid رو پر میکنی داخل یک تابع Public بزار و توی Page_Load بجای اون کد هات تابع رو فراخونی کن. بعد پشت اون دکمه ای که کدهای اضافه کردن رو مینویسی بعد از نوشتن همه کدهات توی آخرین خط دوباره اون تابع که تعریف کردی رو صدا بزن.اینجوری مشکلت حل میشه.

amir_T_2008
دوشنبه 17 شهریور 1393, 01:43 صبح
با سلام :
به نظر من باید بجای ریفرش کردن صفحه از کد زیر استفاده کنی
GridView1.DataBind();
تا فقط دیتای دیتا گریدت آپدیت بشه دوست عزیز .

دوست عزیز ممنون .مشکلم حل شد.