0

我正在从为文章保存标签的表格列中检索数据,例如: "animals dogs cats"并在linkbutton. 如果我单击它,则页面将重定向到"Tags.aspx?name=animals dogs cats".

"Tags.aspx?name=cats" 如果我点击了“猫”,是否可以将页面重定向到,或者可以拆分字符串并自己显示每个单词linkbutton(不使用类似的东西listview)?

谢谢,橡树

4

3 回答 3

3

如果您不想使用 Web 数据绑定控件,Repeater您可以LinkButton动态创建 s。Page_Load请记住最迟在具有与以前相同的 ID 的回发中重新创建它们:

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>
于 2013-04-03T08:19:05.807 回答
1

您可以使用string[] words = your_string.Split();然后使用循环创建按钮

于 2013-04-03T08:06:55.780 回答
0

链接将仅显示从控制器调用的一个视图。也就是说,如果你有一个标签“cat”并且这个标签与某个视图相关,那么这个标签会调用写在控制器中的那个视图。

于 2013-04-03T08:06:16.967 回答