【问题标题】:how to make href links fire C# methods when clicked单击时如何使href链接触发C#方法
【发布时间】:2013-08-02 11:27:00
【问题描述】:

我基本上想要做的是,当我单击 html 中的 href 链接时,它应该触发附加到该链接的 C# 方法。我这样做有什么选择? html onclick 仅查找 javascript 函数。另请注意,我没有链接到另一个页面,我只是想用它来向 URL 添加参数,然后运行 ​​C# 并在方法中使用这些参数。

【问题讨论】:

  • 你是如何“托管”这个 html 页面的?
  • 如果您正在编写 ASP .NET WebForms 应用程序,您可以使用 LinkButton
  • 是否可以在单击第一个 LinkBut​​ton 时让 LinkBut​​ton 创建另一个 LinkBut​​ton?
  • @5tar-Kaster - 喜欢 LinkBut​​ton Inception?取决于你的意思LinkButton 通常调用服务器端代码,所以你可以在服务器上创建另一个LinkButton?你到底想达到什么目的?
  • @Belogix 我想​​基本上根据数据库中未知数量的条目动态创建一堆 LinkBut​​tons,这就是我的最终目标。

标签: c# methods href


【解决方案1】:

您必须创建一个使用 ajax 调用的 C# webmethod 或 WebAPI。您不能直接从 html 或 javascript 访问 C# 方法,除非您使用诸如服务器端控件 (LinkBut​​ton) 之类的东西,然后您可以添加 C# 处理程序以单击该按钮。

所以客户端你的'onClick'会执行一个javascript函数。 Javascript 函数会调用 C# web 方法,传入参数,然后 onSuccess 你会得到结果并随心所欲地处理它们。

【讨论】:

    【解决方案2】:

    您可以使用表单在隐藏字段中传递您的值,

    <form name="FUN" method="post" action="FUN.aspx" onsubmit='return funCheckProgramName()' >
            <input name="userAction" type="hidden" value="submitName">
    
        ---------------------------------------------------------------------
    function funSearchProgram()
    {
        document.FUN.userAction.value="submitName";
    }
        -----------------------------
    

    在这里你可以有一个你想要发布的值,或者你可以使用 javascript 来为你的隐藏字段赋值。

    ================================================ ===============================

     **string str = Request.Form["userAction"].ToString();**
    
              =====================================
    

    现在你有了你的价值,你可以添加处理程序

    if (userAction.Trim ().Equals ("submitName")) 
            submitNameHandler();
    
        private void submitNameHandler()
        {
                   //Your Code goes here .
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 2018-02-08
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多