gpt4 book ai didi

c# - 动态创建按钮调用方法并传入参数

转载 作者:太空狗 更新时间:2023-10-29 23:33:54 41 4
gpt4 key购买 nike

我有一个带有键值对的字典,需要遍历这些键值对并为每个键值对创建一个按钮,然后连接按钮以调用方法 DisplayDocument(string Id) 并将键作为参数传递。

这是我目前所拥有的。

        // test data
var documents= new Dictionary<string,string>();
documents.Add("69110","Diploma");
documents.Add("76404", "Licensure");


foreach (KeyValuePair<string, string> item in documents)
{

MyStringBuilder=MyStringBuilder.Append(item.Value + " " + item.Key + "<br />");

}
printFaxDocuments.InnerHtml = MyStringBuilder.ToString();

我想做的是打印出文档键和值,然后打印一个按钮,用户可以单击该按钮来查看文档。我已经构建了查看文档的方法,它需要传入 Key 值。我该怎么做?

我不确定如何在文本数据中穿插按钮。我需要写出键和值添加按钮添加 "<br/>"然后对字典中的下一项再次执行相同的操作。

最佳答案

下面我在 OnInit 方法中创建了 Button 控件,并为每个控件分配了相同的 Click 事件处理程序。

Key 存储在 Buttons CommandArgument 属性中,该属性在事件处理程序中检索并传递给 DisplayDocument 方法。

protected override void OnInit(EventArgs e)
{
// test data
var documents = new Dictionary<string, string>();
documents.Add("69110", "Diploma");
documents.Add("76404", "Licensure");

foreach (KeyValuePair<string, string> item in documents)
{
Button button = new Button();
button.Text = string.Format("Button: {0}", item.Key);
button.CommandArgument = item.Key;
button.Click += ButtonClicked;

ButtonContainer.Controls.Add(button);
}

base.OnInit(e);
}

protected void ButtonClicked(object sender, EventArgs e)
{
Button button = (Button) sender;
string id = button.CommandArgument;

DisplayDocument(id);
}

private void DisplayDocument(string id)
{
//Do something
}

编辑

您最好使用 CSS 来设置按钮的布局。

尝试将以下 CSS 类添加到页面(或样式表文件)的头部

<style type="text/css">
.stacked-button
{
display:block;
}
</style>

然后将以下内容添加到按钮创建代码中:

button.CssClass = "stacked-button";

然后您可以根据需要添加到 CSS 类以修改布局(边距等)

希望这对您有所帮助。

关于c# - 动态创建按钮调用方法并传入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7840821/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com