我在ASP .Net中使用LinkButton(将其视为按钮)。我需要使用后面的C#代码以编程方式单击该按钮。我怎样才能做到这一点..?如何设置按钮以编程方式点击
0
A
回答
4
不要使用事件处理程序作为方法,它们的唯一目的是处理事件。所有的功能应该封装在可以从事件处理程序中调用的方法中,以及从需要它的任何地方调用。
protected void Button_Click(sender As Object, e As CommandEventArgs)
{
int id=int32.Parse(e.CommandArgument.ToString());
doSomething(id);
}
然后,你可以也从页面的加载事件致电例如这种方法:
protected void Page_Load(object sender, EventArgs e)
{
//get the ID of the first record in GridView's DataSource here or where you databind the GridView
doSomething(id);
}
public void doSomething(int id) { //do something }
如何从GridView的记录通过ID为CommandArgument
:
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Button1" runat="server" CommandArgument='<%#Eval("IdColumn")%>' OnCommand="Button_Click" Text="Do Something">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
+0
它的工作很酷...... :) – 2012-02-02 10:28:49
1
嗯,我不太清楚你想在这里实现什么。但1个方法是简单地调用事件处理程序的方法代码。
但是,如果你有兴趣发送响应返回给客户端,并采取按一下按钮作为一个新的请求,你可以试试这个
ASPX:
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">LinkButton1</asp:LinkButton>
<br />
<br />
<asp:LinkButton ID="LinkButton2" runat="server" onclick="LinkButton2_Click">LinkButton2</asp:LinkButton>
C#:
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Write("I was programatically called!");
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
string pbref = Page.GetPostBackEventReference(LinkButton1);
Page.ClientScript.RegisterClientScriptBlock(GetType(), "KeyName", "<script>" + pbref + "</script>");
}
但是有1个问题。您可能会遇到事件验证错误。在这种情况下,您可能必须禁用事件验证,如下所示:
<%@ Page Language="C#" EnableEventValidation="false" ... %>
我不会推荐它。还有其他方法可以解决它..但这是一个不同的谷歌搜索:)
1
private void Page_Load()
{
if (!Page.IsPostBack)
{
//when the pages is rendered and loaded for the first time execution goes here
//so... call the method that selects the first row
SelectsFirtsRow();
}
else
{
//do something else
...
}
}
protected void FirstRowLinkButton_Click(object sender, EventArgs e)
{
//move all the code that selects the first row to a method.
//you can also supply some arguments if they are needed for method execution... that's up to you
SelectsFirtsRow();
}
public void SelectsFirtsRow();
{
//your logic goes here. i.e. selects the first row
}
ps从代码背后调用事件处理程序是一种不好的做法。事件处理程序旨在激发一些客户端操作。
相关问题
- 1. 如何以编程方式点击TinyMCE工具栏的按钮?
- 2. 如何以编程方式设置按钮位置?
- 3. 设置WPF按钮式编程方式
- 4. Android - 如何以编程方式设置按钮颜色
- 5. 如何以编程方式设置按钮文本?
- 6. 以编程方式调用按钮的点击方法
- 7. 以编程方式设置按钮对齐方式
- 8. 如何以编程方式将焦点设置到按钮小部件?
- 9. 如何以编程方式设置和删除单击按钮上的编辑文本上的焦点
- 10. 无法以编程方式点击添加按钮
- 11. 以编程方式点击Java Swing中的GUI按钮
- 12. 以编程方式点击场景2D中的按钮LibGDX
- 13. Android Pay - 以编程方式点击“立即购买”按钮
- 14. 以编程方式创建的按钮需要点击两次
- 15. 以编程方式调用ASP.net客户端的按钮点击
- 16. 以编程方式点击按钮相机Android
- 17. 如何以编程方式单击ASP.NET网页上的按钮?
- 18. Xamarin iOS UIButton如何以编程方式单击按钮?
- 19. 如何以编程方式在java中单击此按钮?
- 20. 如何更改按钮图像像切换按钮RecyclerView按钮以编程方式点击
- 21. 如何模拟点击按钮编程
- 22. 如何在点击第三方按钮时设置断点?
- 23. 如何手动点击后以编程方式取消选中单选按钮?
- 24. Android - 如何以编程方式设置Linearlayout中的按钮样式?
- 25. Flex 4 - 以编程方式将按钮单击处理函数设置为null
- 26. 如何以编程方式设置WCF端点标识配置?
- 27. 如何以编程方式设置masterpage?
- 28. 如何以编程方式设置layout_margin?
- 29. iPad - 以编程方式将文本设置为按钮
- 30. c#以编程方式设置值按钮。
c#是服务器端,你确定你不想使用客户端的JavaScript? – Niklas 2012-02-02 08:20:43
是否有任何问题为点击事件添加事件处理程序? – Reniuz 2012-02-02 08:21:00
事件处理程序调用一些逻辑。没有其他方式可以调用该逻辑? – Aphelion 2012-02-02 08:26:57