Asp:Textbox vs input text(学习Asp的PHP开发人员)

Asp:Textbox vs input text(学习Asp的PHP开发人员),php,asp.net,Php,Asp.net,我已经做了10年的PHP开发人员,试图拓宽我的视野。我正在ASP.NET中做一个项目。使用比使用标准有什么优势 在上使用常规似乎是有利的。首先,当呈现页面时,成为标准的。当我使用标准的时,我可以通过Request.Form[“Name”]在服务器端代码中轻松检索它们的值。接下来,当我动态添加输入(通过javascript)时,我不能使用TextBox,我需要使用。最后,渲染正常输入不是更快吗?如果我使用编码,则必须在使用的地方进行渲染,只需显示即可 换句话说,当标准输入工作得同样好,如果不是更好

我已经做了10年的PHP开发人员,试图拓宽我的视野。我正在ASP.NET中做一个项目。使用
比使用标准
有什么优势

上使用常规
似乎是有利的。首先,当呈现页面时,
成为标准的
。当我使用标准的
时,我可以通过Request.Form[“Name”]在服务器端代码中轻松检索它们的值。接下来,当我动态添加输入(通过javascript)时,我不能使用TextBox,我需要使用
。最后,渲染正常输入不是更快吗?如果我使用
编码,则必须在使用
的地方进行渲染,只需显示即可

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

过度使用标准的
有什么好处

  • 您可以在代码隐藏页面中更轻松地引用文本框
    • 注意,您可以通过在控件内使用
      runat=“server”
      访问代码隐藏中的任何HTML元素
  • 您可以访问文本框中比输入html元素更多的属性
  • 您可以将文本框与其他ASP.NET控件(如验证器)一起使用
  • 使用它们可以比使用输入更容易地执行数据绑定
  • 与使用输入和javascript相比,使用文本框附加事件更容易,几乎不费吹灰之力
比较摘要

  • 更快/更容易编程
  • 与其他ASP.NET控件的兼容性
接下来,当我动态添加输入(通过javascript)时,我不能使用TextBox,我需要使用

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

最后,渲染正常输入不是更快吗?如果我用它编码,它必须被呈现,如果我使用它,它只需要被显示

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

ASP.NET与HTML/Javascript的对比

我觉得你的问题本质上相当于“为什么不使用钉子上的砖头,而不是锤子?”ASP.NET是一个框架,并且是在考虑ASP.NET控件的情况下构建的。它的目的是让编程更快、更容易,同时抽象掉通常用Javascript完成的大部分事情(通常是琐碎、重复的事情)

是一个服务器端控件,它最终会转换为
您可以向ASP.NET WebForms中的任何常规HTML标记添加
runat=“server”
属性,并且它将作为
HtmlGenericControl
在代码隐藏中提供给您。您可以通过
HtmlGenericControl.InnerText
设置文本,通过
HtmlGenericControl.InnerHTML
设置HTML

使用ASP.NET文本框的一个优点是可以将其呈现为
TextBox.TextMode=“multiline”


有关详细答案,请参见和

+1。使用TextBox的另一个好处是控件提供的自动HtmlEncoding,从安全角度来看,这是一个加号。感谢您提供的详细答案,我对此表示感谢
<asp:TextBox>