public string SaveRiskTestQuestion(string xml, string Id) { if (string.IsNullOrWhiteSpace(xml)) { return("{\"success\": false,\"message\": \"未找到任何可提交的数据,请检查\"}"); } try { xml = HttpUtility.HtmlDecode(xml); XElement root = XElement.Parse(xml); } catch { return("{\"success\": false,\"message\": \"参数值不符合xml格式的字符串,请检查\"}"); } try { Guid gId = Guid.Empty; if (!string.IsNullOrWhiteSpace(Id)) { Guid.TryParse(Id, out gId); } RiskTestQuestionInfo model = new RiskTestQuestionInfo(); model.Id = gId; model.QuestionXml = xml; model.LastUpdatedDate = DateTime.Now; RiskTestQuestion bll = new RiskTestQuestion(); int effect = 0; if (gId.Equals(Guid.Empty)) { gId = Guid.NewGuid(); model.Id = gId; effect = bll.Insert(model); } else { effect = bll.Update(model); } if (effect < 1) { return("{\"success\": false,\"message\": \"数据库连接操作异常,请稍后再重试\"}"); } return("{\"success\": true,\"message\": \"\",\"data\": \"" + gId.ToString() + "\"}"); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// 绑定风险测试题 /// </summary> private void BindExam() { if (myDataAppend == null) { myDataAppend = new StringBuilder(); } RiskTestQuestion bll = new RiskTestQuestion(); var list = bll.GetList(1, 1, "", null); if (list != null && list.Count > 0) { var model = list[0]; hId.Value = model.Id.ToString(); XElement xel = XElement.Parse(model.QuestionXml); var q = from r in xel.Descendants("Xel") select new { title = r.Element("Title").Value, option = r.Element("Option").Value, answer = r.Element("Answer").Value, IsRow = r.Element("Layout").Value == EnumData.QuestionLayout.IsRow.ToString() }; StringBuilder sb = new StringBuilder(); int index = 0; foreach (var item in q) { StringBuilder currSb = new StringBuilder(500); var optionArr = item.option.Split('#'); int currIndex = 0; if (item.IsRow) { currSb.Append(@"<ul class=""ul_h"">"); } else { currSb.Append(@"<ul class=""ul_v"">"); } foreach (var currItem in optionArr) { if (item.IsRow) { currSb.AppendFormat(@"<li><input type=""radio"" id=""rbtn{0}"" name=""rbtn{3}"" value=""{1}"" /><label for=""rbtn{0}"">{2}</label></li>", string.Format("{0}{1}", index, currIndex), currItem, currItem, index); } else { currSb.AppendFormat(@"<li><input type=""radio"" id=""rbtn{0}"" name=""rbtn{3}"" value=""{1}"" /><label for=""rbtn{0}"">{2}</label></li>", string.Format("{0}{1}", index, currIndex), currItem, currItem, index); } currIndex++; } if (item.IsRow) { currSb.Append(@"</ul><span class=""clr""></span>"); } else { currSb.Append(@"</ul>"); } sb.AppendFormat(@"<div class=""row""><span class=""title"">{0}</span><div class=""option"">{1}</div></div>", item.title, currSb.ToString()); index++; } sb.Append(@"<div class=""mt30""> <a class=""easyui-linkbutton"" data-options=""width:77"" onclick=""AddRiskProfile.OnCommit()"">提交</a></div>"); myDataAppend.Append(@"<div id=""questionList"">" + sb.ToString() + "</div>"); } }
private void Bind() { try { RiskTestQuestion bll = new RiskTestQuestion(); var list = bll.GetList(1, 1, "", null); if (list != null && list.Count > 0) { var model = list[0]; hId.Value = model.Id.ToString(); XElement xel = XElement.Parse(model.QuestionXml); var q = from r in xel.Descendants("Xel") select new { title = r.Element("Title").Value, option = r.Element("Option").Value, answer = r.Element("Answer").Value, IsRow = r.Element("Layout").Value }; StringBuilder sb = new StringBuilder(); foreach (var item in q) { string s = item.IsRow == EnumData.QuestionLayout.IsRow.ToString() ? "selected=\"selected\"" : ""; sb.Append("<tr>"); sb.AppendFormat(@"<td><textarea rows=""3"" cols=""100"" class=""txta"">{0}</textarea></td> <td><textarea rows=""3"" cols=""100"" class=""txta"">{1}</textarea></td> <td><textarea rows=""2"" cols=""80"" class=""txta"">{2}</textarea></td> <td><select name=""ddlLayout""><option value=""IsRow"" {3}>同行</option><option value=""NotRow"" {3}>换行</option></select></td> ", item.title, item.option.Replace("#", " "), item.answer, s); sb.Append(@"<td><a class=""easyui-linkbutton"" data-options=""iconCls:'icon-undo',plain:true"" onclick=""AddRiskTestQuestion.UpInput(this)"">上移</a> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-redo',plain:true"" onclick=""AddRiskTestQuestion.DownInput(this)"">下移</a> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-remove',plain:true"" onclick=""AddRiskTestQuestion.DelInput(this)"">移除</a> </td>"); sb.Append("</tr>"); } ltrTr.Text = sb.ToString(); } else { var emptyTr = @"<tr><td><textarea rows=""2"" cols=""80"" class=""txta""></textarea></td> <td><textarea rows=""3"" cols=""100"" class=""txta""></textarea></td> <td><textarea rows=""2"" cols=""80"" class=""txta""></textarea></td> <td><select name=""ddlLayout""><option value=""IsRow""selected=""selected"">同行</option><option value=""NotRow"">换行</option></select></td> <td> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-undo',plain:true"" onclick=""AddRiskTestQuestion.UpInput(this)"">上移</a> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-redo',plain:true"" onclick=""AddRiskTestQuestion.DownInput(this)"">下移</a> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-remove',plain:true"" onclick=""AddRiskTestQuestion.DelInput(this)"">移除</a> </td> </tr>"; ltrTr.Text = emptyTr; } } catch { var emptyTr = @"<tr><td><textarea rows=""2"" cols=""80"" class=""txta""></textarea></td> <td><textarea rows=""3"" cols=""100"" class=""txta""></textarea></td> <td><textarea rows=""2"" cols=""80"" class=""txta""></textarea></td> <td><select name=""ddlLayout""><option value=""IsRow""selected=""selected"">同行</option><option value=""NotRow"">换行</option></select></td> <td> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-undo',plain:true"" onclick=""AddRiskTestQuestion.UpInput(this)"">上移</a> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-redo',plain:true"" onclick=""AddRiskTestQuestion.DownInput(this)"">下移</a> <a class=""easyui-linkbutton"" data-options=""iconCls:'icon-remove',plain:true"" onclick=""AddRiskTestQuestion.DelInput(this)"">移除</a> </td> </tr>"; ltrTr.Text = emptyTr; } }