如何让Html Link(锚点)像LinkBut​​ton一样进行回发?

发布于 2024-08-26 00:05:34 字数 250 浏览 7 评论 0原文

我想问我如何制作一个 html 锚点(一个元素)甚至任何对象来进行回发或执行服务器端方法? 我想创建一个自定义按钮(用一些 div 包裹来进行一些自定义)并且我想实现 OnClick 使其看起来像 ASP.NET LinkBut​​ton?

喜欢

<a href="#" onclick="RunServerSideMethod()">Just a simple link button</a>

I would like to ask how can i make an html anchor (a element) or even any object to do a postback or to execute an server side method?
I want to create a custom button (a wrapped with some divs to do some custom them) and i want to implement OnClick to be look like the ASP.NET LinkButton?

Like

<a href="#" onclick="RunServerSideMethod()">Just a simple link button</a>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

稀香 2024-09-02 00:05:34

使用服务器端 html 控件,HtmlAnchor 这是服务器端的一个标签。

<asp:HtmlAnchor runat="server" onclick="RunServerSideMethod">Just a simple link</asp:HtmlAnchor>

Use a server side html control, HtmlAnchor which is a server side a tag.

<asp:HtmlAnchor runat="server" onclick="RunServerSideMethod">Just a simple link</asp:HtmlAnchor>
ゃ懵逼小萝莉 2024-09-02 00:05:34

默认情况下,控件使用 __doPostBack 向服务器进行回发。 __doPostBack 采用控件的 UniqueID(或在 HTML 中,HTML 元素的 name 属性)。第二个参数是要触发的命令的名称。

因此,对于自定义按钮,渲染到输出流:

<a id="someclientid" name="someuniqueid" href="javascript:void(0);" onclick="__doPostBack('someuniqueid', '');">val</a>

在自定义按钮中,添加 IPostBackEventHandler,此 __doPostBack 语句将触发其 RaisePostBackEvent自动为您提供方法。

By default, controls use __doPostBack to do the postback to the server. __doPostBack takes the UniqueID of the control (or in HTML, the name property of the HTML element). The second parameter is the name of the command to fire.

So for a custom button, render to the output stream:

<a id="someclientid" name="someuniqueid" href="javascript:void(0);" onclick="__doPostBack('someuniqueid', '');">val</a>

In your custom button, add the IPostBackEventHandler, and this __doPostBack statement will fire its RaisePostBackEvent method automatically for you.

抱着落日 2024-09-02 00:05:34

只需添加锚标记 --> runat="server" onServerClick="您的函数名称",它解决了您的问题。

Just add on anchor tag --> runat="server" onServerClick="Your function name", it solves your problem.

秋千易 2024-09-02 00:05:34

一种解决方法可能是:
在锚标记的客户端事件中调用 dummyButton 单击 - 默认情况下将调用此虚拟按钮的服务器端事件。因此,如果您将服务器端代码放入此 dummyButton 服务器事件中 - 调用锚标记客户端事件将调用此服务器端虚拟按钮事件。

代码:

<a id="ancLink" href="javascript:void(0);" >back</a>

<asp:Button ID="dummyRefresh" runat="server" OnClick="BtnRefreshOnclick" style="display:none"/>

JavaScript:

ancLink.live("click", function () {
         callDummyButtonServerEvent();
    });

function callDummyButtonServerEvent() {

    $('input[id$=dummyRefresh]').click();   

}

One workaround could be :
invoke dummyButton click in client side event of anchor tag - which will call server side event of this dummy Button by default. so if u place ur server side code in this dummyButton server event - calling anchor tag client side event would invoke this server side dummy button event.

Code:

<a id="ancLink" href="javascript:void(0);" >back</a>

<asp:Button ID="dummyRefresh" runat="server" OnClick="BtnRefreshOnclick" style="display:none"/>

Javascript:

ancLink.live("click", function () {
         callDummyButtonServerEvent();
    });

function callDummyButtonServerEvent() {

    $('input[id$=dummyRefresh]').click();   

}
旧情勿念 2024-09-02 00:05:34

要在不依赖 ASP.NET 的情况下执行此操作,RunServerSideMethod() 应该是一个使用 Ajax 向服务器发送请求的 JavaScript 函数。

尝试这个 Ajax 教程:http://www.w3schools.com/ajax/

To do this without relying on ASP.NET, RunServerSideMethod() should be a javascript function that uses Ajax to send a request to the server.

Try this Ajax tutorial: http://www.w3schools.com/ajax/

洋洋洒洒 2024-09-02 00:05:34

您还可以在实际 HTML 代码中使用 ASP 代码,如下所示。

<a id="someclientid" name="someuniqueid" href="javascript:void(0);" onclick="<% YourASPMethod(); %>">val</a>

这将执行 aspx.cs 文件中名为 YourASPMethod() 的方法。

You could also use ASP code from within the actual HTML code as following.

<a id="someclientid" name="someuniqueid" href="javascript:void(0);" onclick="<% YourASPMethod(); %>">val</a>

This would execute a method called YourASPMethod() in the aspx.cs file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文