.NET方面的反面教材

1.//弹出对话框.点击转向指定页面
Response.Write(" <script>window.alert('该会员没有提交申请,请重新提交!') </script>");
Response.Write(" <script>window.location='http://www.51aspx.com/bizpulic/upmeb.aspx' </script>");

2.//弹出对话框
Response.Write(" <script language='javascript'>alert('产品添加成功!')

每次看到这样的代码就想踢人,幸好你不是我的手下。

4.//绑定下拉列表框datalist
System.Data.DataView dv=conn.Exec_ex("select -1 as code,'请选择经营模式' as content from dealin union select code,content from dealin");
this.dealincode.DataSource=dv;
this.dealincode.DataTextField="content";
this.dealincode.DataValueField="code";  
this.dealincode.DataBind();
this.dealincode.Items.FindByValue(dv[0]["dealincode"].ToString()).Selected=true;

最后一行使用下面的代码是不是更好:
dealincode.SelectedValue = dv[0]["dealincode"].ToString();

5.//时间去秒显示
<%# System.DateTime.Parse(DataBinder.Eval(Container.DataItem,"begtime").ToString()).ToShortDateString()%>

DateTime.ToShortDateString() 能不能去秒大家回去试验一下
如果不能,恭喜你,你不会再相信这样的鬼代码。如果能,打开Windows的控制面板,找到“语言和文化”选项,试着去修改短日期显示格式一项
再回来执行代码,看看结果怎么样?是不是很神奇,是不是觉得奇怪?
去了解一下线程的语言文化吧。
用下面的代码才能去秒显示时间:
DateTime.ToString("yyyy-M-d h:m")

10.//提取动态网页内容
Uri uri = new Uri("http://www.51aspx.com/");
  WebRequest req = WebRequest.Create(uri);
  WebResponse resp = req.GetResponse();
  Stream str = resp.GetResponseStream();
  StreamReader sr = new StreamReader(str,System.Text.Encoding.Default);
  string t = sr.ReadToEnd();
  this.Response.Write(t.ToString());

OK,代码看上去很正常,执行结果也如预期。一切都很“完美”。
但是,Stream对象是不是应该在执行完之后或发生异常的情况下关闭?
另外,为什么要 string.ToString()
这样的代码有何意义?
为什么要使用默认的编码去Request?在不同的情况下会带来什么后果?
难怪大部分的所谓C#程序员如此廉价。

11.//获取" . "后面的字符
i.ToString().Trim().Substring(i.ToString().Trim().LastIndexOf(".")+1).ToLower().Trim()

不知道大家看到这样的代码是何感想
这里面产生了多少个string对象(垃圾对象),代码有多大的可读性。
既然需要取 . 后面的字符,这样随意的使用Trim(),使用 ToLower() 是那个需求文档给你的权利?
还有,万一 string.LastIndexOf(string) 等于 -1 怎么办?
下面的代码是不是更容易接受:
string temp = i.ToString();
int dotIndex = temp.LastIndexOf(".");
return temp.SubString(dotIndex+1);

12.为按钮添加对话框

Button1.Attributes.Add("onclick","return confirm('确认?')");
button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}")

if(confirm('are you sure...?')){return true;}else{return false;}
换成
return confirm('Are you sure?')
是不是更好?

你可能感兴趣的:(.net)