0

わかりました、そのタイトルは口いっぱいです...しかし、私がやろうとしていることを理解していただけると思います。

jquery タブ コントロールを含むページがあり、モデルをループしてさまざまなタブをレンダリングします。現在、div (これらのタブに「リンク」されている) も同じループで作成されます。したがって、これらのタブに接続された等しいタブ + div があります。

問題は、最初の RenderAction が呼び出されるだけで、他のすべてがまったく同じであることです。

renderactions をループするコード:

foreach (var domain in Model.Domains)
{ %>
    <%= String.Format(@"<div id=""domain_{0}"">", domain.ID)%>
        <%= Html.Encode(domain.ID) %>
        <% Html.RenderAction("DomainView", "Person", new { domainid = domain.ID }); %>

    </div>
<% } %>

したがって、各 div には「domain_NUMBER」という ID があり、もちろん番号はループされます。そして、renderaction は、「domainid」パラメーターを受け取るコントローラーで「DomainView」アクションを呼び出します。

楽観的にはこれでうまくいくと思っていましたが、間違っていると思います...

4

2 に答える 2

0

私があなたを正しく理解していれば、たとえば 3 つの div を取得していますが、それらはすべて同じです。

同じことで、次の 2 つのことを意味できます。

1) すべての div の名前が「div_1」の場合、同じドメイン ID を持つ 3 つのドメインがあり、モデルにドメインを追加する方法に問題があります。

2) div の名前が異なっていても内容は同じということであれば、

Person コントローラーの DomainView アクションにブレークポイントを設定する必要があります。これにより、どの domainid が渡されているかがわかります。コード自体は問題ないように見えるからです。問題はおそらくルーティングに関係しています。たとえば、DomainView アクションは ID パラメーターを取りますが、DOMAINID を渡しているため、ID はデフォルトで 0 に設定されています。これは、すべての div のコンテンツが同じであることを意味します。

于 2010-01-22T17:45:04.703 に答える
0

Statichippo、確かに、それは私のルート値と関係がありました。

私はルートマップを作成した開発者ではないので、これらをチェックするのを「忘れていました」。クエリ文字列を使用するように URL を作成したら、すべてうまくいきました。

現在のプロジェクトでは、ルート値を追加/変更することは許可されていないため、回避策を見つける必要がありました。

于 2010-02-01T15:13:14.400 に答える