Asp:Textbox vs输入文本(PHP开发人员学习ASP)

use*_*829 16 php asp.net

我已经做了10年的PHP开发人员,试图拓宽我的视野我正在做一个ASP.NET项目.<asp:TextBox>使用标准有<input type=’text’>什么好处?

这似乎有利地使用常规的<input type=”text”><asp:TextBox>.首先,当呈现页面时,它<asp:TextBox>成为标准<input type=text>.当我使用标准时,<input type=”text”>我可以通过Request.Form ["Name"]在服务器端代码中轻松检索它们的值.接下来当我动态添加输入(通过javascript)我不能使用TextBox我需要使用<inputs type=”text”>.最后渲染正常输入会不会更快?如果我用代码编写<asp:TextBox>,那么必须渲染,如果我使用<input type=”text”>它只需要显示.

换句话说,当标准输入同样有效时,为什么还要麻烦所有的asp控件呢?如果不是更好......

rlb*_*usa 17

使用标准有<input type=’text’>什么好处?

  • 您可以在代码隐藏页面中更轻松地引用文本框
    • 请注意,您可以通过runat="server"在控件内部使用代码隐藏中的任何HTML元素
  • 您可以在文本框中访问比输入html元素更多的属性
  • 您可以将文本框与其他ASP.NET控件(如验证程序)一起使用
  • 您可以使用它们比输入更轻松地执行数据绑定
  • 与使用输入和javascript相比,您可以更轻松,更轻松地附加带有文本框的事件

比较总结

  • 更快/更简单的编程
  • 与其他ASP.NET控件的兼容性

接下来当我动态添加输入(通过javascript)我不能使用TextBox我需要使用<inputs type=”text”>.

无论您使用ASP.NET还是Javascript,动态添加的控件都会变得非常混乱.在需要时(或使用中继器或数据网格)隐藏/显示控件要容易得多.

最后渲染正常输入会不会更快?如果我用代码编写,那么必须渲染,如果我使用它只需要显示.

我认为将ASP.NET与HTML/Javascript应用程序的速度进行比较是不公平的.ASP.NET旨在呈现ASP.NET控件,并且在ASP.NET中使用HTML控件不会有任何明显的性能提升.

ASP.NET vs HTML/Javascript

我觉得你的问题基本上就是"为什么不在钉子上用砖头而不是锤子?" ASP.NET是一个框架,并且在构建时考虑了ASP.NET控件.它的目的是让事情更快,更容易编程,同时抽象掉通常用Javascript完成的大多数事情(通常是琐碎的,重复的事情).

  • +1为详细答案.使用TextBox的另一个好处是控件提供的自动HtmlEncoding,从安全角度来看是一个优点. (4认同)