繁体   English   中英

字符串文本到许多链接按钮(asp.net C#)

[英]string text to many linkbuttons (asp.net c#)

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

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

谢谢,橡树

如果您不想使用像Repeater这样的Web数据绑定控件,则可以动态创建LinkButton 请记住,最晚在与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>

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

链接将仅显示从控制器调用的一个视图。 也就是说,如果您具有标签“ cat”,并且该标签与某个视图相关,则此标签将调用写入控制器中的该视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM