我正在尝试CSS
在<fieldset>
. 通常一个@helper
函数可以正常工作(见@helper
下文),但是我有两 (2) 种情况不允许它正常工作。
首先,我Input.Edit.cshtml
在~/Views/EditorTemplates/Fields
.
这基本上意味着,当我建立一个表单时,Input.Edit.cshtml
每次都会调用该文件,<input>
因为我在表单中拥有的 's 数量一样多。
其次,我使用条件来检查 URL 的路径,以便仅CSS
在特定路径以下的页面上应用此交替类。具体来说,我想将此更改应用于我的~/Services
路径下的页面。在所有其他页面上,我不希望应用更改。Request.Url.AbsoluteUri
我使用如下所示检查此条件。
这就是我认为我的问题所在,因为应用了交替代码,但是因为在同一页面上针对相同条件再次调用它,所以由于我的逻辑而应用不正确。
现在可能是我被这个问题困住了。
这是代码:
@{
string CurrentUrl = Request.Url.AbsoluteUri;
}
@helper ResponsiveCss(string cssClass)
{
if (ViewBag.count == null) { ViewBag.count = 0; }
<text>class="@(ViewBag.count % 2 == 1 ? cssClass : "one-half last")"</text>
ViewBag.count++;
}
@if (CurrentUrl.Contains("Services"))
{
<fieldset @ResponsiveCss("one-half")>
//Label and Input code
</fieldset>
}
应该发生的是,class="one-half"
应用在<fieldset>
表单中创建的第一个上,然后class="one-half last"
应用到第二个创建的上。
相反,正在发生的事情是class="one-half"
没有应用于第一个<fieldset>
创建的,而是所有 <fieldset>
的都是用class="one-half last"
.
抱歉,如果不清楚。考虑到这种情况(以及如何),我是否可以完成这项工作?谢谢。