[英]Dynamically add links to sharepoint webpart
嗨,Stackoverflow社區! 我正在使用帶有Visual Studio 2012和Windows Server 2012的Sharepoint 2013服務器。因此,我必須構建一個Webpart,該Webpart應該通過文本框向GUI添加鏈接。 此外,還應該可以添加另一個鏈接。 添加新鏈接后,鏈接的整個集合應顯示在列表中。 現在的問題是:添加鏈接后,網站將重新加載。 結果,存儲鏈接的數組僅包含最新鏈接。 以前的所有鏈接都消失/刪除。
這是我的處理方法:
protected void Page_Load(object sender, EventArgs e) {
if (Page.IsPostBack) {
Events = new List<String>();
}
}
protected void btnAddLink_click(object sender, EventArgs e) {
AddToList();
List<String> links = Events;
foreach (String s in links) {
HyperLink link = new HyperLink();
link.NavigateUrl = s;
link.Text = s;
lnkPanel.Controls.Add(link);
}
foreach (String l in links) {
tbDescription.Text += l + "\n";
}
}
public List<String> Events {
get { return (List<String>)ViewState["HyperLinkList"]; }
set { ViewState["HyperLinkList"] = value; }
}
public void AddToList() {
List<String> events = Events; // Get it out of the viewstate
String l = tbLinks.Text; // tb = textbox (user input)
HyperLink link = new HyperLink();
link.NavigateUrl = tbLinks.Text;
link.Text = tbLinks.Text;
if (!events.Contains(link.NavigateUrl.ToString())) {
events.Add(l);
}
Events = events; // Add the updated list back into the viewstate
}
我希望有人可以幫助我解決我的問題(也許是nooby)。
啊,你需要這個:
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack) {
Events = new List<String>();
}
}
每次加載頁面時,您都要在viewstate中擦除列表的內容。 您需要添加!
確保它不是回發。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.