从HTML链接调用C#函数 - c#

我目前正在开发ASP.NET C#网站。
在此网站上将是一个GridView,其中包含一些数据,
并且您应该能够导出此数据(excel等)。

对于导出,我将使用此website上的代码。

当有人单击导出链接时,将弹出如下所示的弹出窗口:

弹出式窗口由avgrund组成,“按钮”是HTML链接。

$(function () {
        $('#exportlaces').avgrund({
            height: 80,
            width: 380,
            holderClass: 'container',
            showClose: true,
            showCloseText: 'x',
            closeByEscape: true,
            onBlurContainer: '#main-wrapper',
            template: '<div id="exportpopuptop"></div>' +
            '<div id="exportpopup">' +
            '<ul>' +
            '<li><a href="#">Excel</a></li>' +
            '<li><a href="#">HTML</a></li>' +
            '</ul>' +
            '</div>'
     });
});

现在,我需要使用用于导出的HTML链接启动一些C#代码。但是如何?

我尝试过这样的事情:

<a runat="server" OnServerClick="myFunction_Click">Excel</a>

但这是行不通的,因为我不在form标签之外。
runat =“ server”只允许使用一个表单标签。

我还尝试将ASP.NET按钮添加到弹出窗口,但这也不起作用。

有没有办法启动将启动C#的javascript函数?

谢谢你的帮助。

编辑

现在的代码看起来像这样

$(function () {
    $('#exportlaces').avgrund({
        height: 80,
        width: 380,
        holderClass: 'container',
        showClose: true,
        showCloseText: 'x',
        closeByEscape: true,
        onBlurContainer: '#main-wrapper',
        template: '<div id="exportpopuptop"></div>' +
        '<div id="exportpopup">' +
        '<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click"> Excel</asp:LinkButton>' +
        '</div>'
    }).appendTo("#form1");
});

后面的C#代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace LACE
{
  public partial class Default : System.Web.UI.Page
  {

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        // Your server side code goes here...
    }

  }
}

我收到以下错误消息:

  编译器错误消息:CS1061:'ASP.default_aspx'不包含'LinkBut​​ton1_Click'的定义,并且没有扩展方法
  “ LinkBut​​ton1_Click”接受类型的第一个参数
  可以找到'ASP.default_aspx'(您是否缺少using指令
  或装配参考?)

参考方案

我建议您在html按钮单击时调用javascript函数,在该javascript函数中,您可以使用ASP.Net AJAX ScriptManager调用服务器端函数。

您需要做的第一件事是将ASP.Net AJAX ScriptManager添加到页面并将其EnablePageMethods属性设置为true,如下所示:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

现在,您可以从javascript函数中调用页面方法(C#),如下所示:

PageMethods.GetCurrentTime(document.getElementById("<%=txtUserName.ClientID%>").value,   
  OnSuccess);

服务器端方法如下:

[System.Web.Services.WebMethod]
public static string GetCurrentTime(string name)
{
return "Hello " + name + Environment.NewLine + "The current time is: "
    + DateTime.Now.ToString();
}

您可以从html控件中调用此javascript函数。

For detail and implementation you can refer to this link.

代码未在服务器目录php中创建文件 - php

我正在尝试使用以下代码将新文件写入服务器error_reporting(E_ALL); ini_set('display_errors', 1); if($_SERVER['REQUEST_METHOD'] == "POST") { $html = $_POST['html'];…

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

CodeIgniter更新查询被执行两次 - php

我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…

当<form>'.submit'函数被覆盖时(使用Ajax)将数据获取到php吗? - javascript

我已覆盖此网页上表单的.submit函数,因为该网页已加载在“ index.php”中的#mainContent内,并且我希望“提交”按钮仅替换此#mainContent。我正在尝试将数据从此表单获取到.php文件,以便对数据库进行查询(或简单地回显已填充的变量,以指示已传递数据)。我是AJAX的新手。有人可以向我解释如何将数据传递到.php文件,或者指向要…

通过php表单修改我的xml文件 - php

这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…