url = document.location.toString();//获取url地址
urlParm = url.slice(url.indexOf('&') + 1);//获取问号后所有的字符串
urlParmStr = decodeURI(urlParm);//转码将解码方式unscape换为decodeURI,获取参数
js页面
function GetProcess(ids) {
var processname = '流程';
$.post("../EAMRoutine.ashx",
{
fun: "RegisterCookieToApplyProcess",
processname: processname,
rnum: Math.random()
},
function (data) {
if (data.result == "S") {
var processpageurl = "/iTemplate/EAM/ZCSurplus/Page/ZCSurplus_SQ.aspx?sp=sq";
processpageurl += "&" + ids;
window.open(processpageurl);//页面打开
} else {
alert(data.data);
}
},
"json");
}
一般处理程序页面
/// <summary>
/// 注册taskid的cookie并发起流程
/// </summary>
/// <param name="context"></param>
public void RegisterCookieToApplyProcess(HttpContext context)
{
JSONResult result = new JSONResult();
try
{
var processname = context.Request["processname"];
//获取出流程的初始taskid
var taskID = GetInitTaskidByProName(processname);
if (string.IsNullOrWhiteSpace(taskID))
taskID = "S12041629341a8795e1f1ff1e77559f";//默认
//注册cookie
context.Response.Cookies["TaskID"].Value = taskID.Trim();
context.Response.Cookies["TaskID"].Path = "/";
result.result = "S";
//将taskid返回到js中
result.data = taskID;
}
catch (Exception ex)
{
result.result = "E";
result.data = ex.Message;
}
finally
{
context.Response.Write(JsonConvert.SerializeObject(result));
}
}
public static string GetInitTaskidByProName(string processName)
{
JSONResult result = new JSONResult();
var taskid = "";
var sql = "select initiateid from initiate where processname='" + processName + "'";
ISureDatabase db = Database.GetDatabase(ultimusdbcode);
var ds = db.ExecuteDataSet(sql);
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
taskid = ds.Tables[0].Rows[0][0].ToString().Trim();
}
return taskid;
}