neynavaz
شنبه 19 شهریور 1390, 12:47 عصر
سلام
من این توابع
Public Function GetMenubyParentId(ByVal parentid As Integer) As DataTable
Dim dt As New DataTable
Dim ds As New DataSet
Dim rlist As New ResultList
ds = sqlfx.FillDataset("select * from TLOc where ParentId= " + parentid.ToString, rlist)
dt = ds.Tables(0)
Return dt
End Function
Public Sub CreateMenu()
Using writer = XmlWriter.Create(Server.MapPath("Temp\Menu.XML"))
writer.WriteStartDocument()
writer.WriteStartElement("Menu")
CreateNodes(0)
writer.WriteEndDocument()
End Using
End Sub
Public Sub CreateNodes(ByVal parentId As Integer)
Dim dt As New DataTable
dt = GetMenubyParentId(parentId)
'MsgBox(dt.Rows.Count.ToString)
For Each dr As DataRow In dt.Rows
writer.WriteStartElement("Node")
writer.WriteStartAttribute("ID")
writer.WriteValue(dr("locCode").ToString())
writer.WriteEndAttribute()
writer.WriteStartAttribute("Name")
writer.WriteValue(dr("LocName").ToString())
writer.WriteEndAttribute()
'CreateNodes(Convert.ToInt32(dr("MenuID")))
CreateNodes(CInt(dr("locCode")))
Next
End Sub
و این رفرنس ها رو نوشتم
Imports System
Imports System.Data
Imports System.Data.Odbc
Imports System.Data.SqlClient
Imports System.Xml
Partial Public Class _1
Inherits System.Web.UI.Page
Dim sqlfx As New DBengine
Public writer As XmlWriter
ولی چون از توابع تو در تو استفاده شده
و بازگشتی هم داره
موقع اجرا ارور زیر رو میده
75133
مشکلش هم اینه که یوزینگ گلوبال نیست و وقتی تابع دوم فراخوانده میشه
دیگه نمیتونه با فایل xml کار کنه
وقتی هم چندتا using میذارم میگه فایل قبلا باز شده
این کد رو هم تو دکمم نوشتم تا توابع صدا زده بشه
CreateMenu()
Response.Redirect("~/")
موندم چیکار کنم؟
کسی میتونه کمک کنه؟
من این توابع
Public Function GetMenubyParentId(ByVal parentid As Integer) As DataTable
Dim dt As New DataTable
Dim ds As New DataSet
Dim rlist As New ResultList
ds = sqlfx.FillDataset("select * from TLOc where ParentId= " + parentid.ToString, rlist)
dt = ds.Tables(0)
Return dt
End Function
Public Sub CreateMenu()
Using writer = XmlWriter.Create(Server.MapPath("Temp\Menu.XML"))
writer.WriteStartDocument()
writer.WriteStartElement("Menu")
CreateNodes(0)
writer.WriteEndDocument()
End Using
End Sub
Public Sub CreateNodes(ByVal parentId As Integer)
Dim dt As New DataTable
dt = GetMenubyParentId(parentId)
'MsgBox(dt.Rows.Count.ToString)
For Each dr As DataRow In dt.Rows
writer.WriteStartElement("Node")
writer.WriteStartAttribute("ID")
writer.WriteValue(dr("locCode").ToString())
writer.WriteEndAttribute()
writer.WriteStartAttribute("Name")
writer.WriteValue(dr("LocName").ToString())
writer.WriteEndAttribute()
'CreateNodes(Convert.ToInt32(dr("MenuID")))
CreateNodes(CInt(dr("locCode")))
Next
End Sub
و این رفرنس ها رو نوشتم
Imports System
Imports System.Data
Imports System.Data.Odbc
Imports System.Data.SqlClient
Imports System.Xml
Partial Public Class _1
Inherits System.Web.UI.Page
Dim sqlfx As New DBengine
Public writer As XmlWriter
ولی چون از توابع تو در تو استفاده شده
و بازگشتی هم داره
موقع اجرا ارور زیر رو میده
75133
مشکلش هم اینه که یوزینگ گلوبال نیست و وقتی تابع دوم فراخوانده میشه
دیگه نمیتونه با فایل xml کار کنه
وقتی هم چندتا using میذارم میگه فایل قبلا باز شده
این کد رو هم تو دکمم نوشتم تا توابع صدا زده بشه
CreateMenu()
Response.Redirect("~/")
موندم چیکار کنم؟
کسی میتونه کمک کنه؟