为每次迭代添加偏移量

时间:2017-07-25 09:37:46

标签: c# asp.net-mvc razor

我的ASP.NET MVC5项目中有一个字符串,其中包含当前目录的父元素(Active Directory TreeView,使用组织单位)。我想要实现的是为你迭代的每个元素都有一个偏移,这样你就可以看到父元素和视觉效果很好,如下所示:

Element 1
   Element 1.1
      SubElements(Current) //These are not concerned by my question
      MoreSubs
      etc...

我使用剃刀视图,我尝试使用方法PadLeftString.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

1 个答案:

答案 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";
}