在很多人眼里,北京是一個物欲橫流的社會,生活節奏之快,讓你一絲都不能停下來,走在路上伴隨着人群急速往前涌,或許有些人都不知道要去哪、也不知道自己想要的是什么?在一個浮躁的社會里,多了一些浮躁的人,到處的尋找捷徑,腳踏實地已經跑得無影無蹤。
公司里項目一個接一個的上線,上線后一個接一個的出現問題,或許是我們該反思的時候了,在時間、質量、成本三者需要平衡的時候,我們總是會在時間和成本上做考慮,上線之前的演示只是一個紙老虎,其實離使用的程度差的很遠,我們總會一開始把客戶的欲望調得很高,但是種種的問題終究會在上線之后暴露出來,讓客戶產生一種落差,要想再逆轉這種結局需要付出百倍的努力,每個人都是消防隊員,哪里需要救火就到哪里去,遠看形勢一片美好,近看火海一撥比一撥高。
最近又調回公司做一個救火的項目,我主要負責在線報名部分,包括以下幾個內容:
1、專業人士門票的索取
2、企業展會的報名
3、后台包括專業人士和企業展會的查詢、搜索和導出。
功能上沒有什么技術難點,但是必須在3天內上線,回來之后就開始了苦逼的生活,建表、建實體、寫接口、數據庫操作類、業務操作類,一切在掌控中進行。其中的企業展會包括參會企業信息和參會人員兩部分,一個企業可能對應多個參會人員,經過考慮采用了以下布局模式:

點擊繼續添加參會人員,彈出一個模式窗口,

后台代碼:
GCMS.Model.EntAttendPerson entAttendPerModel = new Model.EntAttendPerson();
GCMS.CMS.EntAttendInfo entAttend = new CMS.EntAttendInfo();
entAttendPerModel.Name = this.txtName.Value;
if (!string.IsNullOrEmpty(Request.Form["Sex"]))
entAttendPerModel.Sex = int.Parse(Request.Form["Sex"]);
entAttendPerModel.Job = this.txtJob.Value;
entAttendPerModel.Telphone = this.txtTelphone.Value;
entAttendPerModel.Mobile = this.txtMobile.Value;
entAttendPerModel.Email = this.txtEmail.Value;
if (!string.IsNullOrEmpty(Request.Form["radAccomRequire"]))
entAttendPerModel.AccomRequire = int.Parse(Request.Form["radAccomRequire"]);
if (!string.IsNullOrEmpty(Request.Form["txtAccomDateStart"]))
entAttendPerModel.AccomDateStart = DateTime.Parse(this.txtAccomDateStart.Value);
if (!string.IsNullOrEmpty(Request.Form["txtAccomDateEnd"]))
entAttendPerModel.AccomDateEnd = DateTime.Parse(this.txtAccomDateEnd.Value);
entAttendPerModel.EntAttendNum = this.hidGuid.Value;
int count = 0;
if (string.IsNullOrEmpty(Request.QueryString["id"]))
count = entAttend.AddEntAttendPer(entAttendPerModel);
else
{
entAttendPerModel.Id = int.Parse(Request.QueryString["id"]);
count = entAttend.UpdateEntAttendPer(entAttendPerModel);
}
this.Page.ClientScript.RegisterStartupScript(this.GetType(), String.Empty, "addEntAttendPerTip(" + count + ");", true);
前台js:
<head runat="server">
<title>中國智慧城市大會_在線報名</title>
<base target="_self" />
<script type="text/javascript">
window.onload = function a() {
//取得傳入參數
var argu = window.dialogArguments;
if (argu) {
if (argu.guid != "") {
document.getElementById("hidGuid").value = argu.guid;
}
}
}
function addEntAttendPerTip(addCount) {
if (addCount > 0) {
alert("操作成功!");
var result = new Object();
result.IsAdd = addCount;
window.returnValue = result;
window.close();
}
else {
alert("操作失敗!");
}
}
<script>
添加完成以后,刷新下面的列表。並可對列表中的參會人員進行編輯和刪除。
在臨近上線的時候,突然出現了一個問題,當在添加完參會人員關閉模式窗口的時候,”奇跡“出現了,在關閉的時候彈出了一個新的頁面提示操作成功,並伴有是否關閉窗口的提示框,火狐中並不會出現問題,IE中會出現此問題,在勝利到來的時候,老天總會和你開一些玩笑,兵來將擋水來土掩,查找資料,原因就在於點擊添加的時候,出現了一個新窗口而不是在原有的窗口上面完成添加操作,最后在在添加參會人員的模式窗體 head 中添加 <base target="_self" />,讓頁面自己去處理請求,問題迎刃而解。
