我有一个View,我想渲染一个特定的部分取决于窗口的大小。
View看起来:
@using (Html.BeginForm("Index", "search", FormMethod.Get))
{
@Html.Partial("_Search")
<div class="searchmob" style="display: none;">
<h1>mobile</h1>
@Html.Partial("_SearchComponentMobile")
</div>
}
默认情况下,div搜索引擎是不可见的,当屏幕变小时,div会出现(它有效)
这两个部分的问题都包含具有相同名称的textbox @ Html.TextBox,所以当从_SearchComponentMobile提交时,它会发送_Search的文本框值。
是否可以在需要时呈现特定部分。
我在我的一个视图中使用了下面的代码但是在上面的饱和度中它与css有关,希望可以实现类似的东西:
@{
var act = ViewContext.RouteData.Values["action"].ToString().ToUpper();
}
@if (@act == "INDEX")
{
//render a partial view otherwise it doesn't
}
我正在使用bootstrap也许这也可以帮助我?
答案 0 :(得分:1)
您是否尝试过使用MVC内置的'text2 foobar baz'
?
基本上,如果请求来自移动平台,视图引擎将查找视图的“覆盖”。
所以你的主要观点如下:
DisplayModeProviders
然后将您的@using (Html.BeginForm("Index", "search", FormMethod.Get))
{
@Html.Partial("_Search")
}
重命名为_SearchComponentMobile.cshtml
,让MVC处理剩下的事情(请注意,如果它具有与之关联的样式,您需要将_Search.mobile.cshtml
移动到部分中)
如果您需要,请在此处获取更多信息:
修改强>
否则在移动布局中重复表单....
<div class="searchmob">