如何编码

时间:2013-11-18 02:29:55

标签: c# asp.net

如何编写ASPX中的< a href =" ...标记以调用函数后面的简单代码?

我继承了一些代码。我最初没有写这个,但我试图修改它。

在steppayment.aspx文件中有很多"< a href ..."标记为整个URL或另一个aspx文件。

但是如果我只想在代码隐藏中调用一个函数,steppayment.aspx.cs呢?

在aspx文件中,steppayment.aspx,我有这行代码:

 <u><b><a href="fsModifyVisualContentonPaypal();" >Click here</a></b></u> now to open the PayPal payment window.

在后面的代码中,steppayment.aspx.cs,我有这行代码:

protected void fsModifyVisualContentonPaypal()
{
    fsCreditCard.Visible = false;
    fsAfterCreditCard.Visible = true;
}

我在这个功能中有断点。它永远不会到达这里。当用户点击&#34;点击此处&#34;它会引发错误。

3 个答案:

答案 0 :(得分:2)

使用LinkBut​​ton控件而不是基本的HTML锚标记

<asp:LinkButton OnClick="fsModifyVisualContentonPaypal" runat="server" Text="Click here" />

要调用javascript之类的客户端方法,您可以使用OnClientClick。您需要在MSDN上查看the documentation的LinkBut​​ton

答案 1 :(得分:2)

如果您希望它在回发上工作,请尝试使用ASP.NET LinkBut​​ton控件。

这是来自记忆,但它会是这样的:

 <u><b><asp:LinkButton OnClick="fsModifyVisualContentonPaypal" runat="server">Click here</asp:LinkButton></b></u>

如果您希望它在没有回发的情况下工作,那么您将进入Ajax区域或纯JavaScript。 (或者,您可以查找ASP.NET UpdatePanel。)

所有这一切都假设您使用的是ASP.NET WebForms。如果您正在使用MVC,那就是另一个主题。

答案 2 :(得分:1)

这两个答案都有效。您需要更改事件方法签名,如下所示:

protected void fsModifyVisualContentonPaypal(object sender, EventArgs e)
{
    fsCreditCard.Visible = false;
    fsAfterCreditCard.Visible = true;
}

您的链接按钮应如下所示(两个答案都有说明):

<u><b><asp:LinkButton OnClick="fsModifyVisualContentonPaypal" runat="server">Click here</asp:LinkButton></b></u>