专业的ASP.NET Web Form开发人员如何编写数据库视图页面?

时间:2011-07-30 07:22:11

标签: asp.net webforms

只是想知道专业人士选择哪种方法来查看ASP.NET Web窗体中数据库表中数据的页面,例如电子商务网站上的单个产品详细信息页面?

我考虑的一些方法是:

  1. 数据绑定DetailsView;
  2. 数据绑定FormView;
  3. 许多标签控制在代码隐藏中分配值;
  4. 标记页面上有很多Response.Writes(例如<%= object.field%>);或者,
  5. 任何其他方法???

  6. 下面的代码摘录是我目前使用的方法。这是不好的做法吗?

  7. ...标记

    <asp:Panel ID="panOrder" runat="server">
    <table>
        <tr>
            <td>Order Number</td>
            <td><asp:Label ID="lblOrderId" runat="server" Text='<%# Order.orderid %>' /></td>
        </tr>
       <tr>
            <td>Order Date</td>
            <td><asp:Label ID="lblCreationDate" runat="server" Text='<%# Order.creationdate.ToString("dd/MM/yyyy") %>' /></td>
       </tr>
    </table>
    

    代码背后......

    protected order Order { get; set; }
    protected void Page_Load(object sender, EventArgs e)
    {
        int orderId = Request.QueryString["orderid"] == null ? 0 : Utilities.IntParse(Request.QueryString["orderid"]);
        Order = order.SelectByOrderId(orderId);
        panOrder.DataBind();
    }
    

2 个答案:

答案 0 :(得分:1)

如果您想在页面上显示产品详细信息,请改用Repeater Control。这样您就可以更好地控制页面的布局。此外,此控件为light weight,可为您提供良好的performance

答案 1 :(得分:0)

这完全取决于您在特定情况下的需求:

  1. 如果您需要对数据进行简单操作(基本选择,更新,插入),请使用DetailsView,并且您的数据将以列表中的单个视图显示(从上到下)

    < / LI>
  2. 与DetailsView相同,但请记住,使用FormView,您可以更自由地展示开箱即用的数据(DetailsView需要进行一些调整才能表现相同)。您不会局限于自上而下的演示文稿,您可以自由选择页面上的某些信息。

  3. 当你只有2到3个数据绑定元素时,但是当你有更多字段时,我宁愿选择上述方法之一。这更容易。

  4. 我个人很少使用webforms中的这种方法。也许你必须重新设计一些旧的ASP(任何非webforms)页面,其中有很多HTML要处理,并且已经很好地构建了?

  5. 使用其他数据控件,例如在显示表格数据时使用Gridview。中继器也是穆罕默德提到的另一个很好的控件(我同意它是最可定制的)。

  6. 很抱歉这么久的回答。几年前我也想知道同样的问题,所以我认为与你分享这个问题是合适的。在确定在webforms中显示这个或那个的方法时,上面的帮助很多。

    要回答您给出的示例:使用DetailsView或FormView最容易实现单个产品详细信息页面。我会选择第二个。