总结asp.net的几个常用控件本质

『 更新时间:2008-4-6 』『 字体:变小 变大 』『 作者:佚名 | 来源:互联网

  1.当控件属性中有runat="server"时,生成的html控件时name和id发生的变化(。net Framework)。

  2.当asp:button服务器按钮通过生成的页面后转化成类型为submit类型的Client控件。

  3.当控件是html控件时通过生成的页面和原来的html代码完全一样(理由上面已经说名)。

  另外我还测试了把这段代码直接放到form标记中(不放到其他子标记中)如: <input runat="server" type="button" id="delete" value="Server button" onserverclick="delete_ServerClick" />

  <input type="button" onclick="return DeleteCheck(this)" id="Button1" value="Client button" />

  <input runat="server" type="submit" onclick="return DeleteCheck(this)" id="Button2" value="Server submit" />

  <input type="submit" onclick="return DeleteCheck(this)" id="Button3" value="Client submit" />

  <button runat="server" id="button4" onclick="return DeleteCheck(this)" value="Button-Button">Button-Button</button>

  <asp:Button runat="server" ID="button5" OnClientClick="return DeleteCheck(this)" Text="Asp:button" OnClick="button5_Click" />

  <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>直接放到form标记中生成的html代码

  <script type="text/javascript">

  <!——

  var theForm = document.forms['form1'];

  if (!theForm) {

  theForm = document.form1;

  }

  function __doPostBack(eventTarget, eventArgument) {

  if (!theForm.onsubmit || (theForm.onsubmit() != false)) {

  theForm.__EVENTTARGET.value = eventTarget;

  theForm.__EVENTARGUMENT.value = eventArgument;

  theForm.submit();

  }

  }

  // ——>

  </script>

  <input language="javascript" onclick="__doPostBack('delete','')" name="delete" type="button" id="delete" value="Server button" />

  <input type="button" onclick="return DeleteCheck(this)" id="Button1" value="Client button" />

  <input name="Button2" type="submit" id="Button2" onclick="return DeleteCheck(this)" value="Server submit" />

  <input type="submit" onclick="return DeleteCheck(this)" id="Button3" value="Client submit" />

  <button id="button4" onclick="return DeleteCheck(this)" value="Button-Button">Button-Button</button>

  <input type="submit" name="button5" value="Asp:button" onclick="return DeleteCheck(this);" id="button5" />

  <a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>这里有可以看出几点:

  1.当html服务器控件在服务器端添加了服务器事件后生成的代码变为:onclick="_doPostBack()",实际上是调用脚本把整个窗体提交到服务器(如果没有添件服务器事件而只是添加了runat="server"是不会发送到服务器端的)这里注意如果要在html服务器控件中添加一个客户端事件如上面的 <input runat="server" type="button" id="delete" value="Server button" onserverclick="delete_ServerClick" />

  变成 <input runat="server" type="button" id="delete" value="Server button" onclick="return DeleteCheck(this)" onserverclick="delete_ServerClick" />

  那样生成的html代码变成 <input language="javascript" onclick="return DeleteCheck(this) __doPostBack('delete','')" name="delete" type="button" id="delete" value="Server button" />提示有脚本错误原因是onclick事件执行了2个脚本且书写的格式不正确。onclick="return DeleteCheck(this);_doPostBack()"这样的话就只能执行第一个函数而第二个函数就不能执行了(return)。如果用onclick="return DeleteCheck(this),_doPostback()"是指2个函数同时都要执行没有影响(相当于一条语句)。

  2.控件的名字没有发生变化,这个问题我也不太明白为什么不发生变化,请高手门指教哈

  3.asp:button中的onclientclick事件生成后就变成了onclick事件了,类型变成了type="submit".然而服务器事件的onclick我想是通过发送到服务器端执行的(具体我也不太很清楚)。

  4.LinkButton不定义onclick事件,它会自动的生成下面代码发送到服务器端。 href="javascript:__doPostBack('LinkButton1',' ')" 以上是我对asp.net控件进行了简单的介绍。这只是我个人的观点总结,有什么不正确的希望朋友能够提出来,我们大家共同讨论,共同进步。

上一页  [1] [2] 

【点击数:】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

关文章

您的姓名:
评分等级:
1分 2分 3分 4分 5分
评论内容:
1、严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
2、用户需对自己在使用金石网服务过程中的行为承担法律责任。
3、本站管理员有权保留或删除评论内容。
4、评论内容只代表网友个人观点,与本网站立场无关。
  • 金石网
  • | 设为首页 | 加入收藏 | 联系我们 | 版权申明 | 友情链接 | 站点地图 | 网站帮助 | 网站留言 | 广告服务 |
  • Copyright © 2001-2008 KingsNet.biz All Rights Reserved. 闽ICP备05026663号
  • 返回网站顶部