aspx界面中的代码是这样的
<a href="javascript:void(0)" class="easyui-linkbutton" onclick="save()">导出</a>
然后再aspx.cs 中的代码是这样的,如下
public partial class LogManager : System.Web.UI.Page
{
//定义私有上下文实例
private CSSIMPContext _Context = CSSIMPContext._CurrContext;
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 导出数据 world,exal,txt
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void save(object sender, EventArgs e)
{
DataTable dt = _Context.BeanManager.Action("bean_log_manager", "downLogManager") as DataTable;
string temp = "";
//把文本框输入的值赋值给fileName
string fileName = this.txtName.Text;
//导出world
if (radioWorld.Checked == true)
{
//单选按钮的类型
this.radioWorld.Text = "doc";
//把按钮的值赋值给temp变量
temp = this.radioWorld.Text;
OutPutHelper.OutputWorld(fileName + "." + temp, dt);
}
//导出excel
if (radioExcel.Checked == true)
{
this.radioExcel.Text = "xls";
temp = this.radioExcel.Text;
OutPutHelper.OutputExcel(fileName + "." + temp, dt);
}
//导出pdf
if (radioPdf.Checked == true)
{
this.radioPdf.Text = "pdf";
temp = this.radioPdf.Text;
OutPutHelper.OutputPdf(fileName + "." + temp, dt);
}
//导出文本
if (radioTxt.Checked == true)
{
this.radioTxt.Text = "txt";
temp = this.radioTxt.Text;
OutPutHelper.OutputTxt(fileName + "." + temp, dt);
}
}
但是不管怎么调,都无法从aspx 调到后台的aspx.cs中的save方法!帮我看看是哪的问题啊?谢谢~~
------解决思路----------------------
asp.net中不是这么调用的,在aspx用asp.net的button服务端控件替换掉a标签,然后双击这个button跳到后台click事件方法中,将你的save里面的代码复制到里面就可以了。
------解决思路----------------------
一般用post或者get的方式前后端传值通信,但是看你的方法里面操作了前端页面的控件,按照你的思路,可以简单的隐藏一个asp.net 的按钮控件 ,隐藏按钮的 click事件指向你写的后端事件函数,前端save脚本函数里隐藏按钮id.click().
建议你百度下,看看别的方式怎样做的。
------解决思路----------------------
你这个应该用ajax去调用,但你里面又有radio,说明你根本没绕开asp.net服务器控件,那你就应该用服务器控件来回发调用
------解决思路----------------------
直接写个ashx页面,然后用ajax直接调用不就可以了!~~