مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

night-wolf

عضویت از 1392/08/12

فراخوانی اطلاعات از دیتابیس و ثبت آن در قالب HTML منو(والد و فرزند بصورت treeview)

  • پنجشنبه 7 دی 1396
  • 23:16
تشکر میکنم
 با سلام دوستان من یه سری اطلاعات دارم که اونارو بصورت لیست نود دریافت کردم به این صورت که اطلاعات پدر و فرزند که تو دیتابیس مشخصه میخوام بصورت مرتب زیر والد خودش قرار بگیره اینم کدکلاسش

public ListNodes getNode(string UserTypeGuid, int status)

    { 
        SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrin  gs["ConStrings"].ConnectionString);
        try
        {
            using (SqlCommand command = new SqlCommand("SelectAllNodes", connection))
            {
                command.Parameters.AddWithValue("@UserTypeGuid", UserTypeGuid);
                command.Parameters.AddWithValue("@status", status);
                command.CommandType = CommandType.StoredProcedure;
 
                if (connection.State == ConnectionState.Closed)
                    connection.Open();
 
                ListNodes list = new ListNodes();
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Node temp = new Node();
                        temp.IDNode = new Guid(reader["IDNode"].ToString());
                        temp.ParentNodeID = new Guid(reader["ParentNodeID"].ToString());
                        temp.NodeName = reader["NodeName"].ToString();
                        temp.NodeCaption = reader["NodeCaption"].ToString();
                        temp.Periority = Int32.Parse(reader["Periority"].ToString());
                        temp.NavigateUrl = reader["NavigateUrl"].ToString();
                        temp.UserTypeID = reader["UserTypeID"].ToString();
                        //temp.Tni = reader["tni"].ToString();
                        //temp.Security = reader["Security"].ToString();
                        temp.Status = (int)reader["Status"];
                        list.Add(temp);
                    }
                    reader.Close();
                }
                command.Dispose();
                return list;
            }
        }
        catch (Exception exp)
        { return null; }
        finally { connection.Close(); }
    }

و اینم کد فراخوانیش در فرم
	
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using Common_Layer;
 
public partial class _Default : System.Web.UI.Page
{
 
    private ListNodes AllNodes;
    public void BindTreeNode(Guid ParentID, TreeNode node)
    {
        GetNodes getnode = new GetNodes();
        for (int idx = 0; idx < AllNodes.Count; idx++)
        {
            if (AllNodes[idx].ParentNodeID == ParentID)
            {
                TreeNode TempNode = new TreeNode();
                TempNode.Text = AllNodes[idx].NodeCaption;
                TempNode.Value = AllNodes[idx].IDNode.ToString();
                TempNode.CollapseAll();
                if (AllNodes[idx].NavigateUrl.ToString() != "")
                    TempNode.NavigateUrl = AllNodes[idx].NavigateUrl;
                node.ChildNodes.Add(TempNode);
                if (HaveChild(TempNode))
                    BindTreeNode(new Guid(TempNode.Value), TempNode);
            }
        }
    }
    private bool HaveChild(TreeNode node)
    {
        bool havechild = false;
        for (int idx = 0; idx < AllNodes.Count; idx++)
        {
            if (AllNodes[idx].IDNode == new Guid(node.Value))
                havechild = true;
        }
        return havechild;
    }
 
    protected void Page_Load(object sender, EventArgs e)
    {
        GetNodes method = new GetNodes();
        AllNodes = method.getNode("{48401D4A-2F90-469E-849B-FBFD6F044AA1}", 0);
        
    }
}حالا من چیکار کنم که اطلاعات والد در قالب html ست بشه
 
 <pre class="brush: csharp;" style="direction:ltr;">
<ul class="sidebar-menu" data-widget="tree">
         
        <li class="active treeview">
          <a href="لینک والد">
            <i class="fa fa-dashboard"></i> <span>عنوان والد</span>
            <span class="pull-left-container">
              <i class="fa fa-angle-right pull-left"></i>
            </span>
          </a>
          <ul class="treeview-menu">
            <li class="active"><a href="لینک زیرمنو یا فرزند اول"><i class="fa fa-circle-o"></i> عنوان زیرمنویا فرزند اول </a></li>
            <li><a href="لینک فرزند دوم"><i class="fa fa-circle-o"></i> عنوان فرزند دوم</a></li>
          </ul>
</pre>

پاسخ های این پرسش

تعداد پاسخ ها : 0 پاسخ
در حال حاضر هیچ پاسخی ارسال نشده است
کاربرانی که از این پست تشکر کرده اند شیراز سوشال

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)