如何设置用户控件按钮的背景颜色? 以及如何将参数传递给其事件处理程序?



我为按钮创建了一个用户控件,因为我需要在应用程序中多次使用它。

<td class = "center" colspan = "4"><uc:Instructions ID="Instructions" runat="server" />

我在按钮的 ascx 文件中有这个

<asp:Button ID ="btnInstrs" Text ="Instructions" runat ="server" CssClass ="buttonGreen" OnClick ="btnInstrs_onClick"/>

这是用户控件的代码隐藏

protected void btnInstrs_onClick(object sender, EventArgs e)
{
}
public void setColorGreen()
{
btnInstrs.BackColor = System.Drawing.Color.Green;
}

我有这个作为 CSS

.buttonGreen
{
background-color: green;
}

到目前为止,我在其中一个页面的后面代码中有这个,我将需要这个按钮

Instructions.setColorGreen();

setColorGreen 方法在我调用它时将背景颜色更改为绿色。知道为什么只使用 CSS 不能完成这项工作吗?

现在谈谈我的主要问题。

我想在单击按钮时以弹出窗口的形式返回一些说明和页面上的一些文本。 要获取这些说明,我将需要一个itemID来查看数据库并获取说明 因此,如果我在源页面中执行所有操作。在事件处理程序中,我会对项目 ID 进行 D.B 调用并找到说明并显示,但由于我想使用用户控件执行此操作,我不知道如何将 itemID 或其他任何内容作为参数传递到用户控件事件处理程序中。

关于如何对事件处理程序进行编码以便我可以在不同的页面中重用它以获取说明(对于 itemID(的任何建议将不胜感激。

从用户控件调用父页中的方法

这回答了我的第二个问题。单击时为用户控件创建事件。在公开时处理源页面中的事件。

我可以在事件处理程序中使用我的 itemID 进行必要的数据库调用、检索信息并发布指令。

我对所需的任何其他页面执行相同的操作。

仍然不明白为什么CSS没有将按钮的背景颜色设置为绿色。

最新更新