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

本文关键字:参数 设置 递归 | 更新日期: 2023-09-27 18:09:58

当我设置两个参数时。当光标在高亮时没有得到值,作为第一个参数?但总是获取父节点的值。我应该怎么做我的代码如下:请帮忙改正我代码中的错误/缺点。

    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;
    }

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

我不确定它是否有帮助,但我简化了你的代码,它实际上在做什么。

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,但我不明白它有什么问题。