代码改变世界

ASP.NET命名教训-尽量避免关键字

2009-11-22 19:59  Kevin Pan  阅读(2090)  评论(17编辑  收藏  举报

希望大家在设计程序的时候养成良好的命名规范,哪怕是在做一个Demo的时候,否则出现的错误也许会make you creazy!

下面我就哪一个反面教材给大家瞧瞧!

一个极其简单的实例,猜猜程序运行会不会有问题!

aspx页面代码如下,其实就是两个服务器控件,一个Button,一个LinkButton:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="LinqWeb.Test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title></title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:Button runat="server" ID="submit" Text="Button" OnClick="submit_Click" />
        
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
    
</div>
    
</form>
</body>
</html>

下面是后台代码:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace LinqWeb
{
    
public partial class Test : System.Web.UI.Page
    
{
        
protected void Page_Load(object sender, EventArgs e)
        
{

        }


        
protected void LinkButton1_Click(object sender, EventArgs e)
        
{
            Response.Write(
"<script>alert('OK')</script>");
        }


        
protected void submit_Click(object sender, EventArgs e)
        
{
            Response.Write(
"<script>alert('button event')</script>");
        }

    }

}

有没有错误呢,谁能找到错误我佩服他,的确是没有错误!

但运行的时候我们点击LinkButton按钮的时候意想不到的事情发生了

产生了下面这个错误

为什么会产生这个错误呢,去问Microsoft吧。

当我们使用IE8的调试功能的时候就会发现

现在大家应该明白了吧,有没有发现黄色背景的代码,有一个叫submit()的方法,在这里可以说是asp.net的一个小小Bug吧,可能当.net将服务器控件解析成html控件发往客户端时和生成的javascript代码发生的冲突,导致javascript不正确调用。

希望大家引以为鉴!