ABA


"לעשות POSTBACK עם לינק"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #14657 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14657
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   11:21   08.12.08   
אל הפורום  
  לעשות POSTBACK עם לינק  
 
   יצרתי אוביקט HYPERLINK ואני צריך שהוא יעשה POSTBACK שלוחצים עליו.
איך אני עושה את זה?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תקשיב בעיקרון HYPERLINK לא אמור לבצע פוסטבק .. lior066 08.12.08 13:22 1
     אממ אחי אתה לא מתבלבל עם LINKBUTTON? ronen333  08.12.08 15:08 2
  מה מה מה Sn00py  08.12.08 17:06 3
     חשבתי לעשות את זה אבל לא הצלחתי .. ronen333  08.12.08 17:40 4
         ברור שלא נחשב.. לא הבנתי למה לא ONCLICK? Sn00py  08.12.08 17:51 5
             פשוט אין את זה.. ronen333  08.12.08 17:54 6
                 אה חח זה מאוד פשוט Sn00py  08.12.08 18:30 7
                     כנס אחי ronen333  08.12.08 22:05 10
                 ובלי צחוק, זה דברים בסיסיים לגמרי Sn00py  08.12.08 18:30 8
                     כן אני יודע אחי.. ronen333  08.12.08 21:55 9
                         מה אתה מנסה לעשות בכלל.. lior066 08.12.08 23:11 11
                             אני מנסה לעשות PAIGING למוצרים שלי עם REAPTER ronen333  09.12.08 13:42 12
                                 אה יש טעות קטנה בלולאה ronen333  09.12.08 15:45 15
  OMG לא תאמינו!!! ronen333  09.12.08 15:18 13
     טעות בשרשור ronen333  09.12.08 15:44 14

       
lior066

   13:22   08.12.08   
אל הפורום  
  1. תקשיב בעיקרון HYPERLINK לא אמור לבצע פוסטבק ..  
בתגובה להודעה מספר 0
 
   אבל אתה יכול לעשות שהשימוש בו ב onClientClick יקרא לפונקציה ב JS


__doPostBack(btn,e);

זה נוצר אוטומטי מה.net


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   15:08   08.12.08   
אל הפורום  
  2. אממ אחי אתה לא מתבלבל עם LINKBUTTON?  
בתגובה להודעה מספר 1
 
   אין onClientClick על HYPERLINK.
לעשות בNavigateUrl זימון לJS? תוכל להראות לי איך זה משתנה בהתאם למה שאמרת?
עשיתי דבר כזה:

HyperLink link;
for (int i = 1; i <= pagesize; i++)
{
link = new HyperLink();
link.Text = i.ToString();

link.NavigateUrl = "StoreProducts.aspx?PageVar=" + i;
Panel1.Controls.Add(link);
}

והקוד שלי מסתמך זה שיהיה POSTBACK על מנת לבצע BIND שונה לREAPTER.
לכן אני צריך שאובייקטי לינקים האלה שאני מוסיף יגרמו לPOSTBACK.. איך אני עושה את זה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   17:06   08.12.08   
אל הפורום  
  3. מה מה מה  
בתגובה להודעה מספר 0
 
   במקום asp:hyperlink תשתמש ב asp:linkbutton שיש לו מתודת OnClick רגילה שבן כה וכה עושה פוסטבאק...

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   17:40   08.12.08   
אל הפורום  
  4. חשבתי לעשות את זה אבל לא הצלחתי ..  
בתגובה להודעה מספר 3
 
   ONCLICK זה EVENT שאני צריך ליצור לאוביקט אני לא יכול סתם ככה לקרוא למתודה.. ואני לא יודע לעשות את זה לצערי X=.
לכן עשיתי את זה לינק ואמרתי שאני יעביר בQUERYSTRING את המידע שאני רוצה(מספר דף). והאמת שציפתי שזה יעשה POSTBACK ואז ראיתי שזה לא נחשב כPOSTBACK |=.



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   17:51   08.12.08   
אל הפורום  
  5. ברור שלא נחשב.. לא הבנתי למה לא ONCLICK?  
בתגובה להודעה מספר 4
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   17:54   08.12.08   
אל הפורום  
  6. פשוט אין את זה..  
בתגובה להודעה מספר 5
 
   זה אוביקט שאני יוצר. זה לא כמו שאני אקח פקד LINKBUTTON ילחץ עליו פעמים כמו עצלן ואז יווצר לי EVENT אוטמטי לONCLICK.. שאני יוצר אוביקט בCODE BEHIND אני לא יכול לעשות את זה XD.
תבדוק אם בא לך.. אני בטוח שאתה יודע איך עושים את זה וואלה הרבה זמן אני מנסה כבר להבין איך ליצור EVENTS אבל לא ממש הצלחתי. צריך למצוא איזה מקום נורמלי ללמוד |=.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   18:30   08.12.08   
אל הפורום  
  7. אה חח זה מאוד פשוט  
בתגובה להודעה מספר 6
 
   אתה מתייחס ל Click כמו כל מאפיין (כמו שעשית בלולאה למעלה), ומצמיד לו דלגייט חדש(אבנט הנדלר) שמתייחס פונקציה שלך

myLink.Click += new EventHandler(this.myLink_Click);

ואז, הפונקציה שלך תראה ככה

void myLink_Click(Object sender, EventArgs e)
{
}

וזהו, ככה פשוט

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   22:05   08.12.08   
אל הפורום  
  10. כנס אחי  
בתגובה להודעה מספר 7
 
   אין לי LINK שלי PROPERY לCLICK.. (אחרי כמובן שהפכתי אותו לLINKBUTTON.


LinkButton link;
for (int i = 1; i <= pagesize; i++)
{
//link = new HyperLink();
link = new LinkButton();
link.Text = i.ToString();
//link.NavigateUrl = "StoreProducts.aspx?PageVar=" + i;

Panel1.Controls.Add(link);
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   18:30   08.12.08   
אל הפורום  
  8. ובלי צחוק, זה דברים בסיסיים לגמרי  
בתגובה להודעה מספר 6
 
   תקנה ספר טוב ותתחיל ללמוד.
דברים כאלה אפילו ספר בעברית ילמד אותך טוב מאד.

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   21:55   08.12.08   
אל הפורום  
  9. כן אני יודע אחי..  
בתגובה להודעה מספר 8
 
   ערכתי לאחרונה בתאריך 08.12.08 בשעה 22:00 בברכה, ronen333
 
קראתי על זה באיזה ספר באנגלית וגם אני יודע איך לעבוד אם זה אבל לא הצלחתי להבין מהספר איך ליצור EVENT.

הזמנתי עכשיו את הספר של הוד עמי Visual C# 3.0.
אני אכסה את כל החורים למינהם שיש לי..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   23:11   08.12.08   
אל הפורום  
  11. מה אתה מנסה לעשות בכלל..  
בתגובה להודעה מספר 9
 
   אולי ניתן לך פיתרון יותר פשוט?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   13:42   09.12.08   
אל הפורום  
  12. אני מנסה לעשות PAIGING למוצרים שלי עם REAPTER  
בתגובה להודעה מספר 11
 
   ערכתי לאחרונה בתאריך 09.12.08 בשעה 13:48 בברכה, ronen333
 
ואין שום בעיה עם זה.. זה עובד אני רק צריך שיהיה POSTBACK שלוחצים על לינק לדף מסוים.


public partial class StoreProducts : System.Web.UI.Page
{
static int pagesize;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
DataSet ds;
localhost.Service ms = new localhost.Service();
ds = ms.GetProducts();
Session["ProductsDS"] = ds;

if (ds.Tables[0].Rows.Count % 10 == 0)
pagesize = ds.Tables[0].Rows.Count / 10;
else
pagesize = ds.Tables[0].Rows.Count / 10 + 1;

BindByPage(ds, 1, pagesize);

//APPENDING HYPERLINK OBJECT TO THE PANEL CONTROL

HyperLink link;
//LinkButton link;
for (int i = 1; i <= pagesize; i++)
{
link = new HyperLink();
//link = new LinkButton();
link.Text = i.ToString();
link.NavigateUrl = "StoreProducts.aspx?PageVar=" + i;

Panel1.Controls.Add(link);
}

//Response.Write(
//Page.IsPostBack);
}
else
{
int p;
string pagevar = Request.QueryString["PageVar"];
if (pagevar != "")
p = int.Parse(pagevar);
else
p = 1;
BindByPage((DataSet)Session["ProductsDS"], p, pagesize);
}
}

public void BindByPage(DataSet ds, int page, int pagesize)
{

Repeater1.DataSource = PagingProducts(ds, page,pagesize);
Repeater1.DataBind();
}
public DataSet PagingProducts(DataSet ds,int page,int pagesize)
{
int end, start;
DataSet ds2 = new DataSet();
DataTable dt = new DataTable();

for(int i=0;i<ds.Tables[0].Columns.Count;i++)
{
dt.Columns.Add(ds.Tables[0].Columns[i].ColumnName);
}

if (page != pagesize)
{
end = page * 10;
start = end - 9;
}
else
{
end = int.Parse(ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1][0].ToString());
start = end - 9;
}
DataRow abc;
for (int i = start; i <= end; i++)
{
abc = dt.NewRow();
for(int h=0;h<ds.Tables[0].Columns.Count;h++)
{
abc[h] = ds.Tables[0].Rows[i][h];
}
dt.Rows.Add(abc);


}
ds2.Tables.Add(dt);
return ds2;
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
e.Item.DataItem.ToString();
}

}

ואני כבר יודע שאפשר לשפר את העתקה של חלק מהDS לDT דרך IMPORTROW עדיין לא סגור לגמרי איך אבל אני אשחק עם זה ויסתדר.. כרגע זה לא הבעיה. אני רוצה לעשות POSTBACK מסכן P=.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   15:45   09.12.08   
אל הפורום  
  15. אה יש טעות קטנה בלולאה  
בתגובה להודעה מספר 12
 
   שחכתי להתחשב בזה שהSTART והEND צריכים להיות מינוס אחד בשביל שזה יתאים לתאים בDS.
תיקנתי את זה P=.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   15:18   09.12.08   
אל הפורום  
  13. OMG לא תאמינו!!!  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 09.12.08 בשעה 15:23 בברכה, ronen333
 
עכשיו סתם יצרתי אתר פרויקט WEB חדש ויצרתי אוביקט LINKBUTTON ומה אני רואה? את המאפיין PostBackUrl
P=

בדיוק מה שחיפשתי!
אני לא מאמין שפספתי את זה

איזה יופי זה פועל עכשיו =]


static int pagesize;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
DataSet ds;
localhost.Service ms = new localhost.Service();
ds = ms.GetProducts();
Session["ProductsDS"] = ds;

if (ds.Tables[0].Rows.Count % 10 == 0)
pagesize = ds.Tables[0].Rows.Count / 10;
else
pagesize = ds.Tables[0].Rows.Count / 10 + 1;

BindByPage(ds, 1, pagesize);
}
else
{
int p;
string pagevar = Request.QueryString["PageVar"];
if (pagevar != "")
p = int.Parse(pagevar);
else
p = 1;
BindByPage((DataSet)Session["ProductsDS"], p, pagesize);
}
//APPENDING LINKBUTTON OBJECT TO THE PANEL CONTROL

LinkButton link;
for (int i = 1; i <= pagesize; i++)
{
link = new LinkButton();
link.Text = i.ToString();
link.PostBackUrl = "Store.aspx?PageVar=" + i;

Panel1.Controls.Add(link);
}

}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   15:44   09.12.08   
אל הפורום  
  14. טעות בשרשור  
בתגובה להודעה מספר 13
 
   ערכתי לאחרונה בתאריך 09.12.08 בשעה 15:45 בברכה, ronen333
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net