1

基本的なビューを持つ MVC アプリケーションがあります。

myapp.com/category

そして2番目のものへのスイッチャー:

myapp.com/category/list

アプリは独立したものとして使用され、他のアプリケーションでも src が myapp.com/category である iframe に使用されます。iframe で使用するときにページ ヘッダーを表示しないようにしたいのですが、どうすれば実現できますか? クエリ文字列 myapp.com/category?show=false を追加して、これを iframe src として設定しようとしましたが、2 番目のビューに切り替えると、パラメーターが渡されません。

4

2 に答える 2

1

メイン ビューを 2 つの部分ビューに分割します。

次に、マスター/外部アプリを呼び出すときに、コンテンツだけを含む部分ビューを呼び出します。

通常のネイティブ アプリを呼び出すときは、両方の部分ビュー (ヘッダーとコンテンツ) を含む VIEW を呼び出します。

于 2012-09-07T19:44:17.200 に答える
1

showパラメータを保持する URL を作成するヘルパー メソッドを作成できます。例えば:

public static string GetModifiedUrl(this UrlHelper helper, string url)
{
    string qstring = helper.RequestContext.HttpContext.Request.QueryString["show"];
    if (!string.IsNullOrEmpty(qstring)) url += "?show=" + qstring;
    return url;
}

次に、ビューで、たとえば次のようにします。

<a href='@Url.GetModifiedUrl(Url.Action("Index", "Home"))'>Home</a>

別のオプションは、最初のリクエストでセッションに値を追加し、代わりにそれを使用することです。つまり、次のようにコントローラーにロジックを入れます。

var qs = Request.QueryString["show"];
if (!string.IsNullOrEmpty(qs)) 
{
    Session["show"] = qs;
}

次に、ビューで@Session["show"]代わりに使用@Request.QueryString["show"]して、ヘッダーを表示するかどうかを決定します。

于 2012-09-07T20:45:49.893 に答える