public static string getT30(连线题 连线题, bool 是否显示答案) { if (!是否显示答案) { return ""; } return getResItem(连线题.解题思路); }
public static string getT30(连线题 连线题) { List<连线题选项> 连线题左选项集合 = 连线题.连线题左选项集合; List<连线题选项> 连线题右选项集合 = 连线题.连线题右选项集合; List<连线题答案> 连线题答案集合 = 连线题.连线题答案集合; 连线题答案 连线题答案; Dictionary<Guid, int> 连线题左选项Data = new Dictionary<Guid, int>(); Dictionary<Guid, int> 连线题右选项Data = new Dictionary<Guid, int>(); string 大写字母, 小写字母, html = ""; //遍历连线题左选项集合 for (var i = 0; i < 连线题左选项集合.Count; i++) { 连线题左选项Data[连线题左选项集合[i].ID] = i; } //遍历连线题右选项集合 for (var i = 0; i < 连线题右选项集合.Count; i++) { 连线题右选项Data[连线题右选项集合[i].ID] = i; } //遍历连线题答案集合 for (var i = 0; i < 连线题答案集合.Count; i++) { 连线题答案 = 连线题答案集合[i]; 大写字母 = ViewLibManage.数字转大写字母(连线题左选项Data[连线题答案.连线题左选项ID]); 小写字母 = ViewLibManage.数字转小写字母(连线题右选项Data[连线题答案.连线题右选项ID]); html += getT30CellText(i, 大写字母, 小写字母); } string tds = getT30选项(连线题) + getT30Module答案(getT30Head答案("RightAnswer"), html); return getTable("<tr>" + tds + "</tr>"); }
public static string getT30选项(连线题 连线题) { string _leftHead = getT30Head选项("Left"), _leftList = getT30选项LeftList(连线题.连线题左选项集合), _rightHead = getT30Head选项("Right"), _rightList = getT30选项RightList(连线题.连线题右选项集合); return getT30Module选项(_leftHead, _leftList) + getT30Module选项(_rightHead, _rightList); }
public static void 给连线题选项赋值新ID(连线题 link) { foreach (连线题选项 choice in link.连线题左选项集合) { 连线题答案 answer = link.连线题答案集合.Where(a => a.连线题左选项ID == choice.ID).FirstOrDefault(); if (answer != null) { choice.ID = Guid.NewGuid(); answer.连线题左选项ID = choice.ID; } else { choice.ID = Guid.NewGuid(); } } foreach (连线题选项 choice in link.连线题右选项集合) { 连线题答案 answer = link.连线题答案集合.Where(a => a.连线题右选项ID == choice.ID).FirstOrDefault(); if (answer != null) { choice.ID = Guid.NewGuid(); answer.连线题右选项ID = choice.ID; } else { choice.ID = Guid.NewGuid(); } } }