נדרשתי ליצור כפתור ב-Silverlight שלחיצה עליו תבצע 2 פעולות:
1. "קבלת" נתונים מ-Web Service של MOSS
2. שמירה לתוך קובץ באמצעות SaveFileDialog
הוצג Exception עם פרטים SaveFileDialog Dialogs must user-initiated בתוך המתודה MOSS_WS_GetDataCompleted
לאחר הרצת הקוד הבא:
private SaveFileDialog dialog = new SaveFileDialog();
private string StringData = ""; try
{
dialog.DefaultExt = ".txt";
dialog.Filter = "Text Files|*.txt|All Files|*.*";
dialog.FilterIndex = 1;
}
catch (Exception ex)
{
tblError.Text = "Error SaveFileDialog: " + ex.Message;
}void MOSS_WS_GetDataCompleted(object sender,
WebServiceReference.GetDataCompletedEventArgs e)
{
string data = StringData;
if (this.dialog.ShowDialog() == true)
{
using (System.IO.Stream stream = dialog.OpenFile())
{
using (System.IO.StreamWriter writer =
new System.IO.StreamWriter(stream))
{
writer.Write(data);
writer.Close();
}
stream.Close();
}
}
}
הפיתרון
"לפצל" את הפעולה לשני כפתורים.
1. לחיצה על כפתור אחד תבצע את "קבלת" הנתונים בלבד לתוך המשתנה StringData.
2. הקוד אשר קיים במתודה MOSS_WS_GetDataCompleted יהיה בכפתור השני ויבצע את השמירה לתוך קובץ הטקסט (בדוגמא הספציפית הזו) .
Read more: Dudi Nissan's Blog
0 comments:
Post a Comment