维护一个屎山时看到了模板渲染的最佳实践(误),竟然说不出缺点
source link: https://www.v2ex.com/t/838933
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
@foreach (var thatOrder in Model)
{
...
<td><script>document.write(["未付款", "等待发货", "已发货", "已签收", "待评价", "已完成", "已取消"][@thatOrder.StatusType]);</script></td>
...
}
zjhzxhz 20 小时 16 分钟前
pengtdyd 19 小时 45 分钟前
DOLLOR 19 小时 33 分钟前
ChrisFreeMan 19 小时 30 分钟前 via iPhone
IvanLi127 18 小时 30 分钟前 via Android 1
CallMeReznov 18 小时 22 分钟前
codehz 18 小时 16 分钟前 via Android
xuanbg 18 小时 7 分钟前
tomczhen 18 小时 4 分钟前
agagega 17 小时 52 分钟前
seakingii 16 小时 27 分钟前
finab 16 小时 22 分钟前 via iPhone
dcsuibian 15 小时 17 分钟前 2
本来服务端发给前台的 html 应该是
<td>未付款</td>
这样的。而现在是
<td><script>document.write(["未付款", "等待发货", "已发货", "已签收", "待评价", "已完成", "已取消"][0]);<script></td>
这样的。问题是前一种的“未付款”和后一种的“0”是等同的,而且后一种还要使用 js 再运行一次。吐槽的应该是这个多此一举的做法。
(而且也不光是多此一举,传输的数据多了,浏览器遇到 script 就要暂停执行,对性能不好。document.write 感觉有点危险,当页面加载后如果用这个,就是直接清空。)
cslive 7 小时 24 分钟前
h82258652 7 小时 14 分钟前
相当于把订单的所有业务状态暴露了
zzlhr 2 小时 42 分钟前
Mateverse 1 小时 30 分钟前
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK