先说我的问题一,就是后台程序在使用这个跳转的时候,老是会有这个错误:
return RedirectToAction("Detail", "CreditData", new { id = id, tag = tmpOrgName, ts = ts });,服务器无法在发送 HTTP 标头之后追加标头。
我的每个页面的form表单里面都有这个东西:
@Html.AntiForgeryToken()
之前本地调试偶尔出现这个问题,但是发布iis后不会有,现在本地都不行了,无法挑战,而且服务器上也无法跳转了,求教啊!
还有个问题就是,动态查询,前台页面的多条件查询,之前的做法是拼接sql的查询字符串,现在拼接linq的查询表达式,我用的方法又只能处理单表,有一个查询需要多表的时候很麻烦,处理起来很不方便,如图:
static Expression<Func<c_credit_info, bool>> ActionQueryFun(string search,int[] t=null) { var List = new List<Expression<Func<c_credit_info, bool>>>(); if (!string.IsNullOrEmpty(search)) { string[] stArray = search.Split(','); for (int i = 0; i < stArray.Length; i++) { string name = Helper.getLRStr(stArray[i], "#", "leftr"); string value = Helper.getLRStr(stArray[i], "#", "rightr"); //查询匹配条件 if (name == "c_u_id" && !string.IsNullOrEmpty(value)) { int v = Convert.ToInt32(value); List.Add(c => c.c_u_id == v); } if (name == "fbr_Query" && t.Length>=1 && t!=null)//发布人 { // list.Add(c => (c.phoneNumber.Trim().Substring(0, value.Length) == value && c.phoneNumber.Trim().Contains(value))); /* string[] ids = new string[]{10101,10005,10007}; string csvIds = string.Join(",", ids.Cast<string>().ToArray()); db.Profile.Where("it.Id in {"+csvIds+"}"); * * db.Profile.Where(BuildWhereInExpression<Profile,int>(v=>v.Id,ids); * * var queryResult = from p in db.Products where (new int?[] {1,2}).Contains(p.CategoryID) select p; * */ List.Add(c => t.Contains(c.c_r_u_id.Value)); } if (name == "sjxs_Query" && !string.IsNullOrEmpty(value))//涉及事项---信用数据类型,参数int { int v = Convert.ToInt32(value); //List.Add(c => c.c_u_Involve == v); } if (name == "sTime") { } } }
而且,这个查询表达式,我加入进去的int数组的contains似乎没有任何作用,就像没有添加上一样,我看过数据库的执行sql,确实没添加起,也就帮助,给我说哈这个方法.
再次对不住大家没有豆豆了,哪位大侠好心帮助,