0

作为我之前的一篇文章(ASP.NET MVC2 母版页 - 服务器端脚本未呈现,第一个括号被转义)的后续内容,我现在遇到了类似的问题。

这次是尝试动态设置 UserControl 的属性。

**对于熟悉 N2CMS 的人来说,它是 AdvancedPager 控件。*

这是我正在做的事情:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.master" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewPage<Products>" %>
<%@ Register TagPrefix="AddOn" TagName="Pager" Src="~/Views/SharedParts/PagerControl.ascx" %>
<asp:Content ContentPlaceHolderID="Head" runat="server">
   // content for head section
</asp:Content>

<asp:Content ContentPlaceHolderID="MainContent" runat="server">
    <AddOn:Pager runat="server" ID="AdvPager" PerPage="<%= Model.ItemsPerPage %>" Total="<% Model.Count %>" />
</asp:Content>

问题似乎是在 PerPage 或 Total 属性中设置的值。我无法调试它,因为我没有源代码,但是,我相信这与我在上一篇文章中遇到的问题相同,因为如果我用硬编码值替换动态 ASP 代码,它就可以正常工作。

任何想法的解决方法?我已经尝试将整个内容放入 aString.Format但只是输出<AddOn:Pager runat="server"...到页面,它实际上并没有正确呈现控件。

4

1 回答 1

3

UserControlsrunat="server"在 ASP.NET MVC 中是一个禁忌。它们依赖于 MVC 中不再存在的经典 WebForms 生命周期,甚至没有谈论 ViewState 和 PostBack 模型。

查看此控件的名称,它看起来像一个寻呼机。有一个很好的 HTML 帮助器集合,用于在 ASP.NET MVC 中呈现分页网格,您可以看看。

于 2010-10-25T13:10:59.630 回答