0

asp.netのホームページに強く型付けされた部分ビューを配置しようとしていますが、機能しないようです。これが私のコードです

asp.netおよび部分ビューの新機能。

コントローラー:

    public ActionResult VenuePartial()
    {
        ViewData["Message"] = _entities.VenuePartialList();
        return View();
    }

リポジトリ:

    public IEnumerable<Venue> VenuePartialList()
    {
        var list = from s in _entities.Venue
                   orderby s.name ascending
                   select s;
        return list.ToList();
    }

IRepository:

    IEnumerable<Venue> VenuePartialList();

インデックスページ:

   <%Html.RenderPartial("~/Views/Venue/VenuePartial.ascx");%>

どんな助けでもできるだけ早く感謝するでしょうTに関してお願いします

4

1 に答える 1

0

たぶん、このパーシャルにモデルを渡す必要があります。

<% Html.RenderPartial("~/Views/Venue/VenuePartial.ascx", ViewData["Message"]); %>

ちなみに、WTFはViewData["Message"]、モデルと強く型付けされたビューを使用する代わりに、モデルを渡すために使用しています。

public ActionResult VenuePartial()
{
    return View(_entities.VenuePartialList());
}

その後:

<% Html.RenderPartial("~/Views/Venue/VenuePartial.ascx", Model); %>

これは明らかに、パーシャルがに強く型付けされていることを前提としていますIEnumerable<Venue>。シングルに入力する場合は、エディター/ディスプレイテンプレートVenueの使用を検討することもできます。したがって、メインビューでは:

<%= Html.DisplayForModel() %>

および対応する表示テンプレート(~/Views/Shared/DisplayTemplates/Venue.ascx):

<%@ Control 
    Language="C#" 
    Inherits="System.Web.Mvc.ViewUserControl<AppName.Models.Venue>" %>
<span>
    <%= Html.DisplayFor(x => x.SomePropertyOfVenue) %>
</span>

これで、モデルコレクションのアイテムごとに表示テンプレートがレンダリングされます。

于 2011-04-11T22:09:39.927 に答える