我目前正在开发ASP.NET C#网站。 在这个网站将是一个GridView,其中有一些数据, ,你应该能够导出这些数据(excel,无论)。从HTML链接调用C#函数
对于出口我将使用此代码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>'
});
});
我现在需要启动一些C#代码和HTML链接进行导出。但是如何?
我想是这样的:
<a runat="server" OnServerClick="myFunction_Click">Excel</a>
但是,这并不工作,因为我是表单标签之外。 只有一个窗体标签被允许runat =“server”。
我也尝试将ASP.NET按钮添加到弹出窗口,但是这也不起作用。
有没有办法启动一个JavaScript函数,它将启动C#?
感谢您的帮助。现在
编辑
的代码看起来像这样
$(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”和没有扩展方法 “LinkButton1_Click”接受 类型“ASP.default_aspx”的第一个参数的定义可以找到(是否缺少?使用指令 集引用一)
按钮“有没有办法解雇启动一个JavaScript函数,它将启动C#?“不,不像你想象的那样,你不能在用户的PC上通过Web浏览器的链接执行C#函数,C#函数必须是ASP.NET站点的一部分,在服务器上运行,如果你的函数返回一个结果给用户,它必须通过HTTP响应来完成,也就是说,有两种方法可以完成这个操作:(在下一个注释中继续) – mbeckish
1)让按钮提交你的整个表单创建HTTP请求,并且整个页面将刷新,或者2)让按钮执行AJAX HTTP请求,然后让JavaScript接受响应并更新页面的一小部分而不刷新其余部分。如下面的答案覆盖了这两种方法 – mbeckish
但是他不需要这样做如果他弹出一个服务器端链接并弹出到