private void bindPollSection(int sectionId, ContentPoll c) { set("addLink", to(Add, sectionId)); set("listLink", to(List, sectionId)); set("section.Id", sectionId); if (c != null) { set("poll.Title", c.Title); set("poll.Question", c.Question); // 显示投票选项 ctx.SetItem("sectionId", sectionId); String html = ExtData.GetExtView(c.Id, typeof(ContentPost).FullName, typeof(ContentPoll).FullName, ctx); set("poll.Html", html); } else { set("poll.Title", alang("exPollNotAdd")); set("poll.Question", ""); set("poll.Html", ""); } }
private Task <byte[]> ReceivePiecesAsync(long metadataSize, int piecesNum) { Trace.Assert(metadataSize > 0); return(Task.Run(() => { try { int tryed = 0; byte[] metadata = new byte[metadataSize]; BitArray flags = new BitArray(piecesNum); for (int i = 0; i < piecesNum && tryed < 10;) { ExtData data = new ExtData(); data = ReceiveMessage <ExtData>(); if (data.Legal) { if (data.Data.Length > 0 && !flags[data.PieceID]) { var index = data.PieceID; flags.Set(index, true); data.Data.CopyTo(metadata, index * PieceLength); i++; } else { Trace.WriteLine(EndPoint, "Received Empty Data"); return null; } } else { Thread.Sleep(100); tryed++; } } for (int i = 0; i < flags.Length; i++) { if (!flags[i]) { Trace.WriteLine(EndPoint, "Not Received All pieces"); return null; } } return metadata; } catch (System.IO.IOException) { Trace.WriteLine(EndPoint, "Socket Closed"); return null; } })); }
private String addContentInfo(ForumTopic data, String content) { return(content + "<div class=\"extDataPanel\">" + ExtData.GetExtView(data.Id, typeof(ForumTopic).FullName, data.TypeName, ctx) + "</div>"); }