我的ASP.NET MVC5项目中有一个字符串,其中包含当前目录的父元素(Active Directory TreeView,使用组织单位)。我想要实现的是为你迭代的每个元素都有一个偏移,这样你就可以看到父元素和视觉效果很好,如下所示:
Element 1
Element 1.1
SubElements(Current) //These are not concerned by my question
MoreSubs
etc...
我使用剃刀视图,我尝试使用方法PadLeft
和String.Format
,但结果没有任何好处,我找不到可以获得一些好结果的解决方案。我也注意到使用PadLeft
我不能使用空格作为字符,因此它并不适合我的需要。我无法让String.Format
工作。这就是我现在所拥有的:
string myString = "OU=DR,OU=MR,OU=GTC,"
int offset = 5;
string[] units = myString.Split(',');
foreach (var unit in units)
{
if(unit.Equals("")|| unit.Equals(" ")){
continue;
}
@unit.PadLeft(offset, '-')<br/>
//String.Format("{0,"+offset+"}",unit); couldn't make this work
offset += 5;
}
没关系我的组织单位颠倒过来的事实,因为现在我只想要这个偏移(可能是我无法实现的东西:()。这里给出了这种视觉效果:
Elements 1
Element 1.1 //No padding here, why?
---Elements 1.2
SubElements
答案 0 :(得分:0)
我用这种方式管理它,不确定它是否真的是最好的方式,但它有效!
string myString = "OU=DR,OU=MR,OU=GTC,";
string offSet = "5px";
string[] units = myString.Split(',');
foreach (var unit in units)
{
if (unit.Equals("") || unit.Equals(" ")) {
continue;
}
<span class="glyphicon glyphicon-folder-open"></span>
<b id="orgUnit" style="padding-left:@offSet">@unit</b> <br/>
offSet = offSet.Replace("px", "");
int offToInt = int.Parse(offSet);
offToInt += 10;
offSet = offToInt.ToString()+"px";
}