我正在使用ASP.NET LinkButton。 我有一个LinkButton,它从onclick调用代码:
on aspx:
<asp:LinkButton ID="LinkTest" runat="server" onclick="LinkTest_Click" OnClientClick="return false;" >LinkButton</asp:LinkButton>
on aspx.cs:
protected void LinkTest_Click(object sender, EventArgs e)
{
//code here
}
正如您所看到的,我已设置OnClientClick="return false;"
以便它不会进行回发。
回发不会发生。但是背后的代码并没有被解雇。
我希望后面的代码可以触发,而且在点击链接按钮时我不需要回发。
我该怎么做?
感谢。
答案 0 :(得分:2)
删除linkbutton的OnclientClick
属性。尝试使用UpdatePanel
之类的:
<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkTest" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:label id="Label1" runat="server" Text="Initial Label" />
</ContentTemplate>
</asp:UpdatePanel>
此外,您需要在页面中添加ScriptManager
。
答案 1 :(得分:1)
在updatepanel中添加linkbutton, 删除linkbutton的onclientclick属性:
页:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lblName" runat="server" Text="Old Value"></asp:Label>
<br />
<asp:LinkButton ID="lnkbtChange" runat="server" OnClick="lnkbtChange_Click">Change</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
代码隐藏:
protected void lnkbtChange_Click(object sender, EventArgs e)
{
lblName.Text = "New value";
}