我目前正在开发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'不包含'LinkButton1_Click'的定义,并且没有扩展方法
“ LinkButton1_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&…