Asp:Textbox vs input text(学习Asp的PHP开发人员)
我已经做了10年的PHP开发人员,试图拓宽我的视野。我正在ASP.NET中做一个项目。使用Asp:Textbox vs input text(学习Asp的PHP开发人员),php,asp.net,Php,Asp.net,我已经做了10年的PHP开发人员,试图拓宽我的视野。我正在ASP.NET中做一个项目。使用比使用标准有什么优势 在上使用常规似乎是有利的。首先,当呈现页面时,成为标准的。当我使用标准的时,我可以通过Request.Form[“Name”]在服务器端代码中轻松检索它们的值。接下来,当我动态添加输入(通过javascript)时,我不能使用TextBox,我需要使用。最后,渲染正常输入不是更快吗?如果我使用编码,则必须在使用的地方进行渲染,只需显示即可 换句话说,当标准输入工作得同样好,如果不是更好
比使用标准
有什么优势
在
上使用常规
似乎是有利的。首先,当呈现页面时,
成为标准的
。当我使用标准的
时,我可以通过Request.Form[“Name”]在服务器端代码中轻松检索它们的值。接下来,当我动态添加输入(通过javascript)时,我不能使用TextBox,我需要使用
。最后,渲染正常输入不是更快吗?如果我使用
编码,则必须在使用
的地方进行渲染,只需显示即可
换句话说,当标准输入工作得同样好,如果不是更好的话,为什么还要麻烦所有的asp控件呢
过度使用标准的
有什么好处
- 您可以在代码隐藏页面中更轻松地引用文本框
- 注意,您可以通过在控件内使用
访问代码隐藏中的任何HTML元素runat=“server”
- 注意,您可以通过在控件内使用
- 您可以访问文本框中比输入html元素更多的属性
- 您可以将文本框与其他ASP.NET控件(如验证器)一起使用
- 使用它们可以比使用输入更容易地执行数据绑定
- 与使用输入和javascript相比,使用文本框附加事件更容易,几乎不费吹灰之力
- 更快/更容易编程
- 与其他ASP.NET控件的兼容性
无论您是使用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>