2013-04-03 50 views
0

我從表列,我已經保存標籤的文章,檢索數據例如:"animals dogs cats"和顯示linkbutton此字符串文本。如果我點擊它,那麼頁面會被重定向到"Tags.aspx?name=animals dogs cats"字符串文本很多了LinkBut​​ton(asp.net C#)

是否有可能,如果我點擊了「貓」,重定向頁面"Tags.aspx?name=cats" 也許在自己linkbutton每個單詞分割字符串,並顯示(不使用類似listview)?

謝謝,橡樹

+0

你試圖克雷婭察一個按鈕,每個標籤在你的代碼?您可以拆分字符串併爲每個字符串創建一個新按鈕。 – Constanta

回答

3

創建按鈕如果你不想使用網絡的數據綁定控件像Repeater您可以創建LinkButton小號動態。請記住,在最新作之前重新創建它們在具有相同ID的回傳在Page_Load

protected void Page_Init(object sender, EventArgs e) 
{ 
    createTagButtons(); 
} 

private void createTagButtons() 
{ 
    var tblTags = new DataTable(); 
    using (var con = new SqlConnection(connectionString)) 
    using (var da = new SqlDataAdapter("SELECT TagID, TagName FROM dbo.Tags ORDER BY TagName", con)) 
    { 
     da.Fill(tblTags); 
    } 

    foreach (DataRow row in tblTags.Rows) 
    { 
     int tagID = row.Field<int>("TagID"); 
     string tagName = row.Field<string>("TagName"); 
     LinkButton tagButton = new LinkButton(); 
     tagButton.ID = "tagButton_" + tagID; 
     tagButton.CommandArgument = tagName; 
     tagButton.Click += TagLinkClicked; 
     this.TagPanel.Controls.Add(tagButton); 
    } 
} 

private void TagLinkClicked(Object sender, EventArgs e) 
{ 
    LinkButton tagLink = (LinkButton)sender; 
    string url = string.Format("Tags.aspx?name={0}", tagLink.CommandArgument); 
    Response.Redirect(url); 
} 

在ASPX你可以使用一個Panel

<asp:Panel ID="TagPanel" runat="server"></asp:Panel> 
+0

我想,我可以將這個想法用於我的需求。謝謝 – Oak

0

鏈接將只顯示從控制器調用的一個視圖。 也就是說,如果你有一個標籤「貓」和這個標籤的一些觀點則有關該標籤調用這是寫在控制了這一觀點。

+0

他的觀點被稱爲標籤,所以「貓」,「狗」等 - 只是參數 –

1

您可以使用string[] words = your_string.Split();,然後使用循環

+0

你能告訴我如何在正確的位置這些按鈕,因爲現在我已經把其他控件和IM使用之間的LinkBut​​ton的「評估「來顯示文字? – Oak

+0

「正確的位置」是什麼意思? –