ورود

View Full Version : سوال: كم شدن تعداد پيامهاي خوانده نشده با كليك بر روي headettemplate از كنترل acordion



mahsa.n
شنبه 22 آبان 1389, 12:46 عصر
سلام به دوستان
وقتي مدير لاگين ميكنه تعداد پيام هاي خوانده نشده نمايش داده ميشه و وقتي كاربر روش كليك ميكنه يك صفحه جديد باز ميشه كه در اون پيامهاي خونده نشده ( فيلد readed برابر با fasle) و سپس خونده شده(فيلد readed برابر با true )در يك كنترل آژاكس Acordion نمايش داده ميشن.
خوب حالا من چه طوري ميتونم تعيين كنم وقتي مدير روي header پيامهايي كه خونده نشدن كليك كرد يكي از تعداد پيامهاي خونده نشده كم بشه؟؟؟؟؟؟




<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [PrivateMessage] WHERE ([NameId] = @NameId) ORDER BY [Readed]" >
<SelectParameters>
<asp:SessionParameter Name="NameId" SessionField="userId" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>

<asp:Accordion ID="Accordion1" runat="server" SelectedIndex="0" FadeTransitions="true"
FramesPerSecond="40" TransitionDuration="250" AutoSize="None"
HeaderCssClass="accordionHeader" ContentCssClass="accordionContent" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<b><%# Eval("SenderMail")%></b>
</HeaderTemplate>
<ContentTemplate>
<%# Eval("Message")%>
</ContentTemplate>

majnun
شنبه 22 آبان 1389, 15:07 عصر
1 فیلد در درون جدول دارین به عنوان خوانده شده یا نشده

وقتی هر پیغامی را به صورت کامل نشان میدین اون فیلد را آپدیت میکنید و مقدار خوانده شده را قرار میدهید ...

مثلا 0 یعنی خوانده نشده و 1 یعنی خوانده شده

بعد میتونید تعداد رکوردهایی که فیلدشون 0 هست رو بگیرین به عنوان خوانده نشده ....

mahsa.n
شنبه 22 آبان 1389, 16:12 عصر
اينارو كه خودم ميدونم
ميگم چه طوري اين كارو بكنم؟
من كه نميتونم به ازاي هر بار كه كاربر روي header كنترل acordion كليك ميكنه به بانك وصل شم




وقتی هر پیغامی را به صورت کامل نشان میدین اون فیلد را آپدیت میکنید و مقدار خوانده شده را قرار میدهید ...


منظورتون از كامل چيه؟؟؟

majnun
شنبه 22 آبان 1389, 16:20 عصر
وقتی کاربر روی لینک کلیک میکنه شما متن کامل پیغام را از بانک میخونید درسته ؟ همون لحظه که دارین متن کامل را میخوانین اون فیلد را به عنوان خوانده شده آپدیت کنید

mahsa.n
شنبه 22 آبان 1389, 16:34 عصر
نه وقتي صفحه لود ميشه متن كتمل پيغام توي content كنترل acordion هستش
وقتي كاربر روي header كليك ميكنه متن ديده ميشه

majnun
شنبه 22 آبان 1389, 21:36 عصر
خب دیگه وقتی روی هدر کلیک کرد دستور آپدیت صدا زده میشه ...

mahsa.n
یک شنبه 23 آبان 1389, 10:02 صبح
خوب headertemplate هیچ رویدادی نداره چی کار کنم؟؟؟؟؟


من میخوام رویداد کلیک رو از headertemplate بردارم و به مثلا hyperlink موجود در headertemplate اضافه کنم تا فقط وقتی روی hyperlink کلیک میشه content باز بشه
مثل این مقاله :http://forums.ASP.NET/p/1194787/2070420.aspx#2070420

ولی به جای


$addHandler($get("<%=HyperLink1.ClientID %>"), "click", $find('MyAccordion_AccordionExtender')._headerClic kHandler);
$addHandler($get("<%=HyperLink2.ClientID %>"), "click", $find('MyAccordion_AccordionExtender')._headerClic kHandler);


من باید چی بذارم؟؟hyperlink های من به تعداد sendermailهای موجود در بانک ساخته میشن