在递归c#中设置多个参数

时间:2014-06-24 08:39:39

标签: c# recursive-query

当我制作2个参数时。当光标上突出显示ahref没有获取值时,作为第一个参数?但总是得到其父母的价值。 我应该如何处理以下代码: 请帮助纠正我的代码的错误/缺点。

    private string LoadNavigasi(string kodeJabatan, ref int countLoop)
    {
        if (kodeJabatan == null)
            kodeJabatan = "001";

        DataSet ds = RunQuery("Select KodePosition,NamaPosition,Parent from Position where KodePosition = '" + kodeJabatan + "'");
        string temp = string.Empty;
        string tempP = string.Empty;
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
            var kode = ds.Tables[0].Rows[i][0].ToString();
            var nama = ds.Tables[0].Rows[i][1].ToString();
            var parent = ds.Tables[0].Rows[i][2].ToString();
            if (parent == "")
                parent = null;
            temp = string.Format("<a href=?Kode=" + kode + "&Name=" + nama + ">{0}</a>", nama);
            tempP = string.Empty;
            countLoop++;
            if (parent != null)
            {
                tempP = string.Format("{0}", LoadNavigasi(parent, ref countLoop));
                temp = string.Format("{1}<ul><li>{0}", temp, tempP);
            }
            else
            {
                temp = string.Format("{0}", temp);
            }
            return temp;
        }
        return temp;
    }

1 个答案:

答案 0 :(得分:0)

我不确定它是否有帮助,但我将代码简化为它实际正在做的事情。

private string LoadNavigasi(string kodeJabatan)
{
    if (kodeJabatan == null)
        kodeJabatan = "001";

    DataSet ds = RunQuery("Select KodePosition,NamaPosition,Parent from Position where KodePosition = '" + kodeJabatan + "'");

    var kode = ds.Tables[0].Rows[0][0].ToString();
    var nama = ds.Tables[0].Rows[0][1].ToString();
    var parent = ds.Tables[0].Rows[0][2].ToString();

    string temp = string.Format("<a href=?Kode={0}&Name={1}>{1}</a>", kode, nama);
    if (string.IsNullOrEmpty(parent))
    {
        string tempP = LoadNavigasi(parent);
        temp = string.Format("{1}<ul><li>{0}", temp, tempP);
    }
    return temp;
}

你在行

中提到了你的第二个参数
temp = string.Format("<a href=?Kode=" + kode + "&Name=" + nama + ">{0}</a>", nama);

第二个参数是nama,但我不明白它有什么问题。