C# 触发事件并传入控件id

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:49:58
<ItemTemplate>
<asp:LinkButton ID="LinkButDel" newsID='<%# Eval("newsID") %>' runat="server" CausesValidation="False" OnClientClick='return ondel()' Text="[删除]" OnClick="LinkButDel_Click"></asp:LinkButton>
</ItemTemplate>

<script type="text/javascript">
function ondel()
{
if(confirm('您确认删除该新闻!')==true)
{
return true;
}
return false;
}

怎么获取触发事件的id呢?
只要有办法获取那个对象的引用就行,以上代码都是在GridView控件中的

protected void LinkButDel_Click(object sender, EventArgs e)
{
for (int i = 0; i < gridView.Rows.Count; i++)
{
LinkButton lb = gridView.Rows[i].FindControl("LinkButDel") as LinkButton;
if (lb == (LinkButton)sender)
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ShowID","alert('" + lb.Text + "')", true);
//获取对象,则进行其他操作。
break;
}
}
}

LinkButDel_Click 方法 的第一个参数 就是传入的触发事件的空间 直接用就行了

比如是这样的
LinkButDel_Click(object s,EventsArg e)
{
(LinkButton)s //就是触发控件了
}

OnClientClick='return ondel(<%# Eval("newsID") %> )' Text="[删除]"

function ondel(newId)