C# 将强类型数据列表传递并循环到WebForm
我来自MVC背景,在这里我可以从控制器传递模型数据列表,以便以结构化的方式查看更多内容。我现在需要了解如何将存储类型的模型数据从C#类传递到页面 我正在使用ASP.NET3.5 模范班 我已经设法在aspx.cs类中引入列表数据。。。如何在aspx页面中循环表单数据 Roles.aspx.cs类C# 将强类型数据列表传递并循环到WebForm,c#,asp.net-3.5,C#,Asp.net 3.5,我来自MVC背景,在这里我可以从控制器传递模型数据列表,以便以结构化的方式查看更多内容。我现在需要了解如何将存储类型的模型数据从C#类传递到页面 我正在使用ASP.NET3.5 模范班 我已经设法在aspx.cs类中引入列表数据。。。如何在aspx页面中循环表单数据 Roles.aspx.cs类 受保护的无效页面加载(对象发送方,事件参数e) { List roleList=新列表(); roleList=RoleDefinitionRelay.GetAllRoles(null); } asp
受保护的无效页面加载(对象发送方,事件参数e)
{
List roleList=新列表();
roleList=RoleDefinitionRelay.GetAllRoles(null);
}
aspx
角色ID
标题
描述
创建日期
???????????
以下是使用ASP:Repeater控件。希望这有帮助
在您的.aspx中
<form runat="server">
<asp:Repeater id="rptRoles" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<td>Role ID</td>
<td>Title</td>
<td>Description</td>
<td>Created Date</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("RoleID")%></td>
<td><%#Eval("Title")%></td>
<td><%#Eval("Description")%></td>
<td><%#Eval("CreatedDate")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
角色ID
标题
描述
创建日期
.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack){
List<RolesModel> roleList = new List<RolesModel>();
roleList = RoleDefinationRelay.GetAllRoles(null);
//set data source of repeater and bind
rptRoles.DataSource = roleList;
rptRoles.DataBind();
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack){
List roleList=新列表();
roleList=RoleDefinitionRelay.GetAllRoles(null);
//设置中继器的数据源并绑定
rptRoles.DataSource=roleList;
rptRoles.DataBind();
}
}
以下是使用ASP:Repeater控件。希望这有帮助
在您的.aspx中
<form runat="server">
<asp:Repeater id="rptRoles" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<td>Role ID</td>
<td>Title</td>
<td>Description</td>
<td>Created Date</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("RoleID")%></td>
<td><%#Eval("Title")%></td>
<td><%#Eval("Description")%></td>
<td><%#Eval("CreatedDate")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
角色ID
标题
描述
创建日期
.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack){
List<RolesModel> roleList = new List<RolesModel>();
roleList = RoleDefinationRelay.GetAllRoles(null);
//set data source of repeater and bind
rptRoles.DataSource = roleList;
rptRoles.DataBind();
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack){
List roleList=新列表();
roleList=RoleDefinitionRelay.GetAllRoles(null);
//设置中继器的数据源并绑定
rptRoles.DataSource=roleList;
rptRoles.DataBind();
}
}
以下是使用ASP:Repeater控件。希望这有帮助
在您的.aspx中
<form runat="server">
<asp:Repeater id="rptRoles" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<td>Role ID</td>
<td>Title</td>
<td>Description</td>
<td>Created Date</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("RoleID")%></td>
<td><%#Eval("Title")%></td>
<td><%#Eval("Description")%></td>
<td><%#Eval("CreatedDate")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
角色ID
标题
描述
创建日期
.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack){
List<RolesModel> roleList = new List<RolesModel>();
roleList = RoleDefinationRelay.GetAllRoles(null);
//set data source of repeater and bind
rptRoles.DataSource = roleList;
rptRoles.DataBind();
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack){
List roleList=新列表();
roleList=RoleDefinitionRelay.GetAllRoles(null);
//设置中继器的数据源并绑定
rptRoles.DataSource=roleList;
rptRoles.DataBind();
}
}
以下是使用ASP:Repeater控件。希望这有帮助
在您的.aspx中
<form runat="server">
<asp:Repeater id="rptRoles" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<td>Role ID</td>
<td>Title</td>
<td>Description</td>
<td>Created Date</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("RoleID")%></td>
<td><%#Eval("Title")%></td>
<td><%#Eval("Description")%></td>
<td><%#Eval("CreatedDate")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
角色ID
标题
描述
创建日期
.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack){
List<RolesModel> roleList = new List<RolesModel>();
roleList = RoleDefinationRelay.GetAllRoles(null);
//set data source of repeater and bind
rptRoles.DataSource = roleList;
rptRoles.DataBind();
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack){
List roleList=新列表();
roleList=RoleDefinitionRelay.GetAllRoles(null);
//设置中继器的数据源并绑定
rptRoles.DataSource=roleList;
rptRoles.DataBind();
}
}
问题在于,您是从MVC的角度来考虑这个问题的——我的问题正好相反,因为我的背景是webforms
在webforms中,您不会以这种方式绑定数据(您可以,但这需要更多的工作,而且这并不是公认的方式)
您需要的是在您的aspx中有一个服务器控件,它将为您处理循环和渲染-在本例中,我将使用gridview,因为它很快,但是如果您需要对HTML进行更多控制,则应使用repeater或listview
你的代码就快到了
protected void Page_Load(object sender, EventArgs e)
{
List<RolesModel> roleList = new List<RolesModel>();
roleList = RoleDefinationRelay.GetAllRoles(null);
//Bind the gridview
gvRoles.DataSource = roleList;
gvRoles.DataBind();
}
受保护的无效页面加载(对象发送方,事件参数e)
{
List roleList=新列表();
roleList=RoleDefinitionRelay.GetAllRoles(null);
//绑定gridview
gvRoles.DataSource=roleList;
gvRoles.DataBind();
}
然后在您的aspx页面中:
希望有帮助 问题是,你是从MVC的角度来考虑这个问题的——我的问题正好相反,因为我有webforms的背景 在webforms中,您不会以这种方式绑定数据(您可以,但这需要更多的工作,而且这并不是公认的方式) 您需要的是在您的aspx中有一个服务器控件,它将为您处理循环和渲染-在本例中,我将使用gridview,因为它很快,但是如果您需要对HTML进行更多控制,则应使用repeater或listview 你的代码就快到了
protected void Page_Load(object sender, EventArgs e)
{
List<RolesModel> roleList = new List<RolesModel>();
roleList = RoleDefinationRelay.GetAllRoles(null);
//Bind the gridview
gvRoles.DataSource = roleList;
gvRoles.DataBind();
}
受保护的无效页面加载(对象发送方,事件参数e)
{
List roleList=新列表();
roleList=RoleDefinitionRelay.GetAllRoles(null);
//绑定gridview
gvRoles.DataSource=roleList;
gvRoles.DataBind();
}
然后在您的aspx页面中: