我目前正在开发一个 ASP.NET C# 网站。在这个网站上会有一个 GridView,里面有一些数据,你应该能够导出这些数据(excel,不管)。
对于出口,我将使用本网站上的代码。
当有人点击导出链接时,会弹出一个弹出窗口,如下所示:
弹出窗口是用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>
但这不起作用,因为我不在表单标签之外。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”不包含“LinkButton1_Click”的定义,并且找不到接受“ASP.default_aspx”类型的第一个参数的扩展方法“LinkButton1_Click”(您是否缺少 using 指令或装配参考?)