[英]asp.net linkbutton in updatepanel doesn't fire
I have a asp.net web application. 我有一个asp.net Web应用程序。 In my
.aspx
page I have a update panel in which I have 3 asp:LinkButton
that should make a call to ac# code behind. 在我的
.aspx
页面中,我有一个更新面板,其中我有3个asp:LinkButton
应该调用ac#代码。 The problem is that the onclick doesn't work. 问题是onclick不起作用。
Here is how the code looks: 以下是代码的外观:
<div id="div1">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<ul>
<li><asp:LinkButton ID="lnk_1" runat="server" OnClick="lnk1_Click">Link1</asp:LinkButton></li>
<li><asp:LinkButton ID="lnk_2" runat="server" OnClick="lnk2_Click">Link2</asp:LinkButton></li>
<li><asp:LinkButton ID="lnk_3" runat="server" OnClick="lnk3_Click">Link3</asp:LinkButton></li>
</ul>
<div> some more code here </div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="lnk_1" />
<asp:PostBackTrigger ControlID="lnk_2" />
<asp:PostBackTrigger ControlID="lnk_3" />
</Triggers>
</asp:UpdatePanel>
</div>
What is wrong with the code? 代码有什么问题? I have also tried using
AsyncPostBackTrigger
but still doesn't work. 我也尝试过使用
AsyncPostBackTrigger
但仍然无法正常工作。
The code behind is not invoked at all. 根本没有调用后面的代码。
I have also tried to search on Google but couldn't find a solution. 我也曾尝试在Google上搜索但无法找到解决方案。
You're very close. 你很近。 Couple of things:
几件事:
Here is a working example. 这是一个有效的例子。
Web Form - WebForm1.aspx: Web表单 - WebForm1.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="AspDotNetStorefront.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<div id="div1">
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<ul>
<li><asp:LinkButton ID="lnk_1" runat="server" OnClick="lnk1_Click">Never clicked</asp:LinkButton></li>
</ul>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lnk_1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
CodeBehind - WebForm1.aspx.cs: CodeBehind - WebForm1.aspx.cs:
using System;
namespace AspDotNetStorefront
{
public partial class WebForm1 : System.Web.UI.Page
{
private static int _clickedCount = 0;
protected void lnk1_Click(object sender, EventArgs e)
{
++_clickedCount;
var suffix = _clickedCount <= 1 ? "time" : "times";
lnk_1.Text = string.Format("Clicked {0} {1}", _clickedCount, suffix);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.