首页 新闻 会员 周边 捐助

.net mvc 中如何在view(后缀为.aspx的文件)中使用服务器端控件?

0
悬赏园豆:50 [已解决问题] 解决于 2010-07-21 10:49

曾在网上下了个小Demo,在view的页面上用了netadvantage 的服务器端控件,请问一下具体步骤是什么呀?

问题补充: 可是我看到的一个小Demo上就是在view对象上用的netadvantage服务器端控件,您能帮忙解决一下吗?
铁血龙魂的主页 铁血龙魂 | 初学一级 | 园豆:130
提问于:2010-07-16 14:39
< >
分享
最佳答案
0

要使用服务器端控件, 我们就需要在后台代码中为控件绑定数据. ASP.NET MVC框架提供的添加一个View对象的方法已经不能创建后台代码, 也就是说已经摒弃了这种方式.但是我们仍然可以自己添加.

首先创建一个带有后台代码的(.cs文件),一般的Web Form页面(aspx页面),然后修改页面的继承关系, 改为继承自ViewPage:

public partial class ShowModelWithControl : System.Web.Mvc.ViewPage

 

在页面上放置一个Repeater控件用来显示数据:

<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="rptView" runat="server">
<ItemTemplate>
<%# ((KeyValuePair<string, object>)Container.DataItem).Value %><br />
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>

在Page_Load方法中, 为Repeater绑定数据:

    public partial class ShowModelWithControl : System.Web.Mvc.ViewPage
{
protected void Page_Load(object sender, EventArgs e)
{
rptView.DataSource = ViewData;
rptView.DataBind();
}
}

在Controller中创建Action, 为ViewData赋值:

        /// <summary>
/// Action示例:使用服务器控件输出ViewData
/// </summary>
/// <returns></returns>
public ActionResult ShowModelWithControlDemo()
{
ViewData["k1"] = @"This";
ViewData["k2"] = @"is";
ViewData["k3"] = @"a";
ViewData["k4"] = @"page";
return View("ShowModelWithControl");
}
收获园豆:50
Astar | 高人七级 |园豆:40805 | 2010-07-16 14:58
其他回答(1)
0

这方法不错1

剑韵重现 | 园豆:202 (菜鸟二级) | 2012-06-03 14:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册