传值方式:ajax技术和普通传值方式
一、使用ajax技术实现:前台js调用后台函数
使用ajax准备工作:
1,前提需要引用一个dll 全名AjaxPro.2.dll
2,web.config中需要配置
<configuration> <system.web> <httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/> </httpHandlers> <pages validateRequest="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> </system.web> </configuration>
第一种传值方式(post方式传值到其他页面):
$.ajax({
type: "POST",
url: "../../DispatchManage/ReportSaveData.aspx",
data: { "data": encodeURI(result) }, // + "&tbrq=" + tbrq + "&dept=" + dept,
success: function (msg) {
if (msg == "-1") {
alert("填报的数据的状态为审核中或者审核完成,不允许修改数据!!");
}
else if (msg == "0") {
alert("保存成功!");
}
else {
alert("保存失败!");
}
}
});
页面ReportSaveData.aspx的后台需要解码获得参数data对应的值result,写法如下:
Server.UrlDecode(Request["data"]);
第二种传值方式(页面前后台传值)
1,cs中代码:在Index类中,先注册Index类为Ajax,然后才能在这个类中写Ajax方法体
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index)); //1处、index为类名
}
[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]
public string MyRemarkInfo()
{
方法块.......
}
2,前台js代码:如何使用后台生命的Ajax方法:
function RemarkInfos()
{
var ri=LRWorkflowWeb.Index; //2处、获取类(namespace.namespace.namespace.classname)
var reinfo= ri.MyRemarkInfo();//3处、MyRemarkInfo()是方法
}
二、普通传值方式(非ajax)
1,前台js调用后台函数:借用后台的控件button实现;
(1)html
<input type="button" ID="BtnSaveBack" value="保存" class="sbutton vm" onclick="show_confirm()" />
<asp:Button ID="BtnSaveBackHidden" runat="server" style=" display:none; border:0;" OnClick="BtnSaveBack_Click" />
(2)js中间
function show_confirm() {
var r = confirm("确认此项操作吗?");
if (r == true) {
document.getElementById("<%=BtnSaveBackHidden.ClientID%>").click();
}
}
(3)cs文件中的后台函数(事件)
public void BtnSaveBack_Click(object sender, EventArgs e)
{
方法块
}

浙公网安备 33010602011771号