// 前端 JS 取值拼接
var fullAddr = prov + "|" + city + "|" + district; // 如 "廣東省|深圳市|南山區"
document.getElementById("hidAddress").value = fullAddr;
// 後端 C# 存入單一字段
string address = Request.Form["hidAddress"]; // "廣東省|深圳市|南山區"
cmd.Parameters.AddWithValue("@Address", address);
// 讀取時解析
string[] parts = address.Split('|');
string prov = parts.Length > 0 ? parts[0] : "";
string city = parts.Length > 1 ? parts[1] : "";
string dist = parts.Length > 2 ? parts[2] : "";
| 分隔符 | 優點 | 缺點 |
|---|---|---|
| (管道符) | 地址極少出現、可見性好 | 需確保資料不含 |
, (逗號) | 通用 | 地址常含逗號 (如 "No.1, Road") |
# / || | 極少衝突 | 可讀性稍差 |
| JSON 序列化 | 結構化、擴充性強 | 字段長度較長、需解析庫 |
// 存入
var addrObj = { prov: "廣東省", city: "深圳市", district: "南山區" };
hidAddress.value = JSON.stringify(addrObj);
// 後端 (Newtonsoft.Json)
JObject obj = JObject.Parse(address);
string prov = obj["prov"].ToString();
優點:欄位可擴充 (如加 street、zip),查詢可用資料庫 JSON 函數 (MySQL 5.7+/PG/SQL Server 2016+)。