我有一个基本视图的 MVC 应用程序:
myapp.com/category
并切换到第二个:
myapp.com/category/list
应用程序用作独立的应用程序,也可以在其他应用程序中使用到 iframe 中,其中 src 是:myapp.com/category。我想在 iframe 中使用时不显示页眉,我该如何实现?我试图添加查询字符串 myapp.com/category?show=false,并将其设置为 iframe src,但是当我切换到第二个视图时,参数未传递。
我有一个基本视图的 MVC 应用程序:
myapp.com/category
并切换到第二个:
myapp.com/category/list
应用程序用作独立的应用程序,也可以在其他应用程序中使用到 iframe 中,其中 src 是:myapp.com/category。我想在 iframe 中使用时不显示页眉,我该如何实现?我试图添加查询字符串 myapp.com/category?show=false,并将其设置为 iframe src,但是当我切换到第二个视图时,参数未传递。
将主视图分成两个部分视图。
然后,在调用主/外部应用程序时,调用仅包含内容的局部视图。
调用常规原生应用程序时,调用包含部分视图(标题和内容)的 VIEW。
您可以创建一个辅助方法来构建将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"]
来决定是否显示标题。