我收到了以下代码:
protected void Name_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "TextINeed")
{
//Some Code
}
if (e.CommandName == "SomethingElse")
{
//Some Code
}
}
protected void btn_someButton(object sender, EventArgs e)
{
Name_RowCommand(sender, "TextINeed");
}
我遇到的问题是Name_RowCommand(sender, "TextINeed");
我知道(sender,
应该是正确的,但我如何使第2部分正确?我做了一些尝试,但到目前为止没有任何工作。
我对任何建议感到高兴!
答案 0 :(得分:5)
由于GridViewCommandEventArgs
,我认为这是ASP.NET。
您不能直接将参数传递给事件。事件被触发。在这种情况下,您必须注册此事件处理程序,例如在aspx:
<asp:gridview id="GridView1"
onrowcommand="Name_RowCommand"
runat="server">
<columns>
<asp:buttonfield buttontype="Link"
commandname="TextINeed"
text="SomeText"/>
.....
</columns>
</asp:gridview>
如果用户现在点击了链接按钮,则CommandName
将为TextINeed
。
如果要从另一个事件处理程序内部调用代码,您应该创建一个可以从两个事件处理程序调用的方法。
private void MyFirstMethod()
{
//Some Code
}
protected void Name_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "TextINeed")
{
MyFirstMethod();
}
}
protected void btn_someButton(object sender, EventArgs e)
{
MyFirstMethod();
}