void EditEvent(string settings) { try { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), @"WidgetEnterCheck" + _host.WidgetInfo.ID.ToString(), "<script type='text/javascript'>function checkForEnter" + _host.WidgetInfo.ID.ToString() + @"(e, saveButtonID){var evt = e ? e : window.event;if(evt.keyCode == 13){document.forms[0].onsubmit = function () { return false; }; evt.cancelBubble = true; if (evt.stopPropagation) evt.stopPropagation(); return false; }}</script>", false); newSymbol.Attributes.Add("onkeydown", @"javascript:checkForEnter" + _host.WidgetInfo.ID.ToString() + @"(event, '" + AddStockButton.ClientID + "')"); _data = StockWidgetData.LoadFromSettings(settings); Repeater1.DataSource = _data.Symbols.ToArray(); Repeater1.DataBind(); ViewSet.SetActiveView(Edit); } catch { lbData.Text = "Error loading settings"; ViewSet.SetActiveView(View); } }
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { try { _data = StockWidgetData.LoadFromSettings(WidgetHost.GetHost(this).WidgetInfo.Settings); _data.Symbols.RemoveAt(e.Item.ItemIndex); WidgetHost.GetHost(this).Save(_data.ToXml()); Repeater1.DataSource = _data.Symbols; Repeater1.DataBind(); } catch { lbData.Text = "Error deleting widget"; ViewSet.SetActiveView(View); } }
protected void AddStockButton_Click(object sender, EventArgs e) { try { if (newSymbol.Text != String.Empty) { _data = StockWidgetData.LoadFromSettings(WidgetHost.GetHost(this).WidgetInfo.Settings); _data.Symbols.Add(newSymbol.Text.ToUpper()); newSymbol.Text = ""; Repeater1.DataSource = _data.Symbols; Repeater1.DataBind(); WidgetHost.GetHost(this).Save(_data.ToXml()); } } catch { lbData.Text = "Error adding stock"; ViewSet.SetActiveView(View); } }
protected void MainView() { try { _data = StockWidgetData.LoadFromSettings(_host.WidgetInfo.Settings); List<StockQuote> quotes = new List<StockQuote>(); foreach (string symbol in _data.Symbols) { quotes.Add(new StockQuote(symbol)); } TickerRepeater.DataSource = quotes.ToArray(); TickerRepeater.DataBind(); ViewSet.SetActiveView(View); } catch { lbData.Text = "Error loading widget"; ViewSet.SetActiveView(View); } }
public static StockWidgetData LoadFromSettings(string settings) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(StockWidgetData)); StockWidgetData retVal; byte[] data = ASCIIEncoding.Default.GetBytes(settings); using (MemoryStream memStream = new MemoryStream(data)) { try { retVal = (StockWidgetData)xmlSerializer.Deserialize(memStream); } catch { retVal = new StockWidgetData(); } } return retVal; }