gpt4 book ai didi

asp.net - WebForms 中的强类型容器

转载 作者:行者123 更新时间:2023-12-02 20:55:03 25 4
gpt4 key购买 nike

采用以下代码示例:(ASP.NET WebForms)

<asp:Content ContentPlaceHolderID="Contents" runat="server">
<div class="blogpost-list">
<asp:Repeater ID="blogList" runat="server">
<ItemTemplate>
<h2 class="blogpost-title">
<%# (Container.DataItem as BlogPost).Title %>
</h2>
<p class="blogpost-meta">
</p>
<p class="blogpost-content">
<%# (Container.DataItem as BlogPost).ParsedContent %>
</p>
</ItemTemplate>
</asp:Repeater>
</div>
</asp:Content>

现在我想做的是避免 DataItem 的内容转换,即。这一行:

<%# (Container.DataItem as BlogPost).Title %>

我受到 ASP.NET MVC 的启发,想知道是否可以创建一个强类型、 View 并定义它,如下所示:

<%@ Page
Language="C#" MasterPageFile="~/Blog.Master"
AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="MyBlog.Default<MyStrongViewType>"
%>

或者任何其他避免类型转换的方法,并且通常为 ASP.NET WebForms 提供强类型 View 。

有什么好的想法吗?

最佳答案

.NET 4.5对此有一个很好的解决方案。您只需设置要在中继器本身上使用的数据类型。

   <asp:Repeater ID="blogList" runat="server" ItemType="BlogPost">
<ItemTemplate>
<h2 class="blogpost-title">
<%# Item.Title %>
</h2>
<p class="blogpost-meta">
</p>
<p class="blogpost-content">
<%# Item.ParsedContent %>
</p>
</ItemTemplate>
</asp:Repeater>

参见:

关于asp.net - WebForms 中的强类型容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/937244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com