0

以前の投稿の1つ(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コードをハードコードされた値に置き換えると正常に機能するため、以前の投稿で発生したのと同じ問題であると思います。

回避策のアイデアはありますか?全部を入れてみましたが、ページにString.Format出力するだけ<AddOn:Pager runat="server"...で、実際にはコントロールが正しくレンダリングされません。

4

1 に答える 1

3

のUserControlsrunat="server"は、ASP.NETMVCではノーノーです。それらは、MVCには存在しなくなった従来のWebFormsライフサイクルに依存しており、ViewStateモデルやPostBackモデルについても話していません。

このコントロールの名前を見ると、ポケットベルのように見えます。ASP.NETMVCでページ分割されたグリッドをレンダリングするためのHTMLヘルパーの素晴らしいコレクションがあります。

于 2010-10-25T13:10:59.630 に答える