在c#中编写所有内容而不是使用Web控件是好还是坏?

use*_*961 3 html c# web-controls

我对在ASP.NET中获得结果的几种方法之间的选择很困惑.

例如,Web窗体控件SqlDataSource,您检索其他控件从数据库并显示结果数据,如DataGridView,BulletedList等.但是所有这些可以用C#编写,创建一个字符串,将与retrived数据保持你的HTML代码的东西,那么你插入你的Html代码div使用innerHTML.有什么不同?

例:

[ <div id='block1' runnat='server'></div]  
Run Code Online (Sandbox Code Playgroud)

在CodeBehind中

[ block1.innerHTML = myString;]
Run Code Online (Sandbox Code Playgroud)

编写C#代码SqlConnect,Loops,Datatable后,将HTML字符串的值放入myString.

为什么不用C#实现一切?

Rex*_*x M 5

想想什么是最简单的.对于简单的情况,使用标记,模板和数据绑定通常是最简单和最简单的,因为所写的大多数是静态标记 - 所以我们可以留在标记的"本地".但是如果标记可以根据程序逻辑彻底改变,那么尝试在ASP.NET标记中表达它可能是最乏味的.

还要考虑部署和重用 - 模板也可能更容易为单个应用程序维护,但在不同的应用程序中更难打包和重用.

您希望尽量减少工作量和复杂性.实现这些流程可直接减少错误,提高稳定性,并缩短交付时间.因此,请考虑以下方面的工作量和复杂性:

  • 写作有多难?
  • 改变你(或其他人)的难度有多大? - 如果这是一次性应用程序,或者不太可能发生太大变化,那么这不是一个问题.
  • 部署有多难?
  • 重用有多难? - 如果没有重复使用,这不是一个问题.