-1

我对为 Web 应用程序编写 c# 编码比较陌生,但对 c# 有一些了解。

我正在尝试读取一个文本文件(下面的示例)并生成一个网页,其格式基于用于分隔每一行的字符。

我确信有一种非常简单的方法可以做到这一点,但这就是我想出的。它适用于我当前的预期目的,但看起来既可怕又复杂。

我正在阅读的文件如下所示:

^This ^is ^the ^home ^file.|*This is a ^bullet point.|*^This is another one.|This isn't a bullet point.

我必须阅读并显示的代码如下所示:

@{int bulletNum = 0;}
@foreach (string homeLine in homeData)
{
    foreach (string homeItem in homeLine.Split('|'))
    {
        if (homeItem.First()=='*')
        {
            bulletNum++;
            <ol class="round">
                <li class="num@(bulletNum)">
                    @foreach (string homeElementFirst in homeItem.Split(' '))
                    {
                        string homeElementSecond = homeElementFirst.TrimStart('*');
                        if (homeElementSecond.First() == '^')
                        {
                            <b>@homeElementSecond.TrimStart('^')</b>
                        }
                        else
                        {
                            @homeElementSecond <text> </text>
                        }
                    }
                </li>
            </ol>
        }
        else
        {
            foreach (string homeElement in homeItem.Split(' '))
            {
                if (homeElement.First() == '^')
                {
                    <b>@homeElement.TrimStart('^')</b>
                }
                else
                {
                    @homeElement <text> </text>
                }
            }
        }
        <br />
    }
}

请原谅我可怕的变量名。

谁能帮我整理一下?谢谢。

4

1 回答 1

1

看起来您正在尝试实现一种自定义标记语言,尽管它很简单。我建议您使用现有的库来处理这类事情。查看Textile,它做了类似的事情。有一个可用的 Textile 的 C# 端口

于 2013-01-29T18:22:44.887 回答