单击 HTML 链接时在 ASP.NET 中调用 C# 函数

Posted

技术标签:

【中文标题】单击 HTML 链接时在 ASP.NET 中调用 C# 函数【英文标题】:Call a C# function in ASP.NET when clicking on a HTML link 【发布时间】:2011-05-31 01:33:27 【问题描述】:

我的myEditPage.aspx 页面中有一些输入和一些TextAreas,我希望将它们上传到数据库,但为此我需要将<a href=".."> 链接到我的myEditPage.aspx.cs 中的一个函数。

我该怎么做?

【问题讨论】:

【参考方案1】:

而不是

<a href=.....>

使用

<asp:LinkButton id="myid" runat="server" OnClick="MyFunction_Click" />

LinkButton 是一个 ASP.Net 服务器端控件

当然,您也可以将函数附加到&lt;a&gt; 标记。只需添加 runat=server 使其成为服务器控件即可。

<a href="#" runat="server" onServerClick="MyFuncion_Click" />

然后在您的函数中检索您的文本区域和输入的值。

一般来说,使用 asp.net 控件而不是常规的 html 控件。它使编写 asp.net 变得更容易。

对于文本区域/输入,请使用 &lt;asp:TextBox&gt;。如果你谷歌一下,你会发现很多教程让你开始使用 asp.net 编程。例如:http://www.asp.net/

【讨论】:

@abatishchev 你是个疯子;)我通常把我所有的标签都保持小写:) 我只是让它更易于编译 =) 如有不安,请见谅 没问题,修正拼写很聪明:) 对于 html 元素(&lt;a href="#"... ,您需要有 OnServerClick 而不是 onClick 才能在后面的代码中触发您的点击事件。所以它看起来像这样:&lt;a href="#" runat="server" OnServerClick="MyFuncion_Click" /&gt; @MikaelSvenson 很棒的见解。我目前正在测试 html 文本框,因为它具有 proper readonly 属性。例如&lt;input type="text" id="dateFrom" readonly="readonly" /&gt; 但是如果我使用 asp.net 文本框,只读无助于实现相同的效果。 &lt;asp:TextBox ID ="dateFromTBox" runat="server" ReadOnly="true"&gt; 是的,在客户端访问数据方面,asp.net 控件的事件处理功能对用户非常友好。如果asp.net TextBox可以正确readonly,您能告诉我吗?然后我可以使用onTextChange 事件进行验证和数据竞价。

以上是关于单击 HTML 链接时在 ASP.NET 中调用 C# 函数的主要内容,如果未能解决你的问题,请参考以下文章

排序时在 ASP.NET 2.0 中的高效自定义分页

asp.net 按钮单击未通过 jquery 在隐藏字段中触发大量数据

ASP.NET MVC,每次用户单击链接时都会增加模型数据中的值

单击时在JavaFX中填充组合框

在 PostBack (ASP.NET) 上运行 jQuery 函数

Asp.Net Web API 2第三课——.NET客户端调用Web API