0

ビュー (~/Views/Component/Create.aspx) を問題なくレンダリングするコントローラーがあります。

このビューが表示されたら、次のいずれかを行います。

(1)ユーザーがリンクをクリックすると、モーダルポップアップ(ここでは問題ありません)でビュー(部分ビューではありません)が表示されますが、(〜/ Views / TransportType / Index.aspx)からの完全なaspxビューが表示されます

なんで?(~/Views/TransportType/Index.aspx) は 100% あるべき姿であり、それ自体が TransportType コントローラーから部分ビューをレンダリングするためです。そのため、1 つの画面で、さまざまな画面に移動することなく (挿入 / 更新 / 編集 / 削除) する機能をユーザーに提供します。

また

(2) (~/Views/Component/Create) 内で、JavaScript を使用して切り替えることができる div 内のページのどこかに <%= Html.RenderAction("Index", "TransportType") %> をレンダリングすることに落ち着きます. このアプローチを使用しようとした場合にのみ、CS1502 が表示されます。

注: 問題なく www.MySite.com/TransportType/Index を直接参照できますが、上記の #2 で説明した方法を使用しようとすると、上記のエラーが発生します。

私はすべてを試しました。私はこれを理解しようと一日中費やしました。迅速な修正を簡単に実装できますが、それでは、MVC と比較して会社に納得させているセールス ポイント全体と、コード ビハインドに対する利点が無効になります。助けてください。そうしないと、コード ビハインドの ASP.NET の世界にロールバックする必要があるかもしれません。

結論:「ビュー内でビューをレンダリングする方法を知っている人はいますか?それとも、質問が間違っています.

ここにいくつかのコードがあります:

4

1 に答える 1

1

jquery-uiを使用する場合は、dialogメソッドを使用できます。

例えば:

<a href="<%=Url.Action("Index","TransportType") %>" id="transports">Types</a>
<div id="window"></div>
<script type="text/javascript">

$(document).ready(function(){
    $("#transports").click(function(){
        $("#window").load(this.href).dialog({title:"transport list"});
        return false;
    });
});
</script>

編集:Html.RenderActionを使用するには、何も返さないため、=前に配置せず、最後にaを配置します。;<% Html.RenderAction("Index", "TransportType"); %>

于 2011-03-17T07:45:32.520 に答える