0

記事のタグを保存したテーブル列からデータを取得しています。たとえば "animals dogs cats"、この文字列テキストをlinkbutton. クリックすると、ページが にリダイレクトされ"Tags.aspx?name=animals dogs cats"ます。

「猫」をクリックした場合にページをリダイレクトし"Tags.aspx?name=cats" たり、文字列を分割して各単語を個別に表示したりすることはlinkbuttonできlistviewますか?

ありがとう、オーク

4

3 に答える 3

3

Web データ バインド コントロールを使用したくない場合は、 s を動的に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>
于 2013-04-03T08:19:05.807 に答える
1

string[] words = your_string.Split();ループを使用してボタンを使用してから作成できます

于 2013-04-03T08:06:55.780 に答える
0

リンクには、コントローラーから呼び出されたビューが 1 つだけ表示されます。つまり、タグ「cat」があり、このタグが何らかのビューに関連付けられている場合、このタグはコントローラーに記述されているそのビューを呼び出します。

于 2013-04-03T08:06:16.967 に答える