只是想知道专业人士选择哪种方法来查看ASP.NET Web窗体中数据库表中数据的页面,例如电子商务网站上的单个产品详细信息页面?
我考虑的一些方法是:
任何其他方法???
下面的代码摘录是我目前使用的方法。这是不好的做法吗?
...标记
<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();
}
答案 0 :(得分:1)
如果您想在页面上显示产品详细信息,请改用Repeater Control。这样您就可以更好地控制页面的布局。此外,此控件为light weight
,可为您提供良好的performance
。
答案 1 :(得分:0)
这完全取决于您在特定情况下的需求:
如果您需要对数据进行简单操作(基本选择,更新,插入),请使用DetailsView
,并且您的数据将以列表中的单个视图显示(从上到下)
与DetailsView相同,但请记住,使用FormView
,您可以更自由地展示开箱即用的数据(DetailsView需要进行一些调整才能表现相同)。您不会局限于自上而下的演示文稿,您可以自由选择页面上的某些信息。
当你只有2到3个数据绑定元素时,但是当你有更多字段时,我宁愿选择上述方法之一。这更容易。
我个人很少使用webforms中的这种方法。也许你必须重新设计一些旧的ASP(任何非webforms)页面,其中有很多HTML要处理,并且已经很好地构建了?
使用其他数据控件,例如在显示表格数据时使用Gridview。中继器也是穆罕默德提到的另一个很好的控件(我同意它是最可定制的)。
很抱歉这么久的回答。几年前我也想知道同样的问题,所以我认为与你分享这个问题是合适的。在确定在webforms中显示这个或那个的方法时,上面的帮助很多。
要回答您给出的示例:使用DetailsView或FormView最容易实现单个产品详细信息页面。我会选择第二个。