- Хотите знать, если кто-то может помочь вообще?- Я построил веб-сайт в VWD 2010 с использованием .vb, и все отлично работает локально, но когда я публикую его в IIS, я получаю сообщение об ошибке:
System.Web.HttpException:IListSource не содержит источников данных.
Я проверил & разрешения для БД (насколько я знаю, все в порядке - я даже использовал это на БД):
USE master
GO
sp_grantlogin 'IIS APPPOOL\DefaultAppPool'
USE AuditLogons
GO
sp_grantdbaccess 'IIS APPPOOL\DefaultAppPool', 'DefaultAppPool'
Что сработало нормально - я немного растерялся, так как думаю, что это должно сработать, но я очень новичок в .VB и просто хотел бы, чтобы это работало действительно.- Я много гуглил и внес множество изменений в web.config и т. Д., Но уверен, что это действительно просто.Любая помощь будет оценена, код ниже:
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Private _getData As DataSet
Dim ds As Object
Private Property Yesterday As String
Private Property queryString As String
Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) Handles GridView1.PageIndexChanging
GridView1.PageIndex = e.NewPageIndex
BindDataAllUsers()
GridView1.DataBind()
End Sub
Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Message.Text = ""
If Not IsPostBack Then
Yesterday = DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd")
StartDT.Text = Yesterday 'DateTime.Now.ToString("yyyy-MM-dd")
EndDT.Text = DateTime.Today.ToString("yyyy-MM-dd")
End If
End Sub
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
End Sub
Protected Sub GetSingleUserBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GetSingleUserBTN.Click
Call BindDataSelectedUser()
End Sub
Protected Sub GetAllUsersBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GetAllUsersBTN.Click
Call BindDataAllUsers()
End Sub
Private Sub BindDataAllUsers()
UserNM.Text = ""
Message.Text = ""
Dim StartDay As String
Dim EndDay As String
StartDay = StartDT.Text
EndDay = EndDT.Text
Dim StartMin As String
Dim EndMin As String
StartMin = " 00:00:00"
EndMin = " 23:59:59"
Dim queryString As String = "SELECT * FROM [AuditLogons].[dbo].[Logins] Where Timestamp between '" & StartDay & " " & StartMin & "' and '" & EndDay & " " & EndMin & "'"
Dim ds As DataSet = GetData(queryString)
GridView1.DataSource = ds
GridView1.DataBind()
GridView1.Visible = True
End Sub
Private Sub BindDataSelectedUser()
Message.Text = ""
Dim StartDay As String
Dim EndDay As String
StartDay = StartDT.Text
EndDay = EndDT.Text
Dim StartMin As String
Dim EndMin As String
StartMin = " 00:00:00"
EndMin = " 23:59:59"
If UserNM.Text = "" Then
Message.Text = "You Must Enter a Username!"
Exit Sub
End If
Dim queryString As String = "SELECT * FROM [AuditLogons].[dbo].[Logins] Where Username like '" & UserNM.Text & "' and Timestamp between '" & StartDay & " " & StartMin & "' and '" & EndDay & " " & EndMin & "'"
Dim ds As DataSet = GetData(queryString)
GridView1.DataSource = ds
GridView1.DataBind()
GridView1.Visible = True
End Sub
Function GetData(ByVal queryString As String) As DataSet
Dim connectionString As String = ConfigurationManager.ConnectionStrings("AuditLogonsConnectionString").ConnectionString
Dim ds As New DataSet()
Try
Dim connection As New SqlConnection(connectionString)
Dim adapter As New SqlDataAdapter(queryString, Connection)
Adapter.Fill(ds)
Catch ex As Exception
Message.Text = "Unable to connect to the database."
End Try
Return ds
End Function
Protected Sub RefreshBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RefreshBTN.Click
Message.Text = ""
Response.Redirect(HttpContext.Current.Request.Url.ToString(), True)
End Sub
Protected Sub ExportBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ExportBTN.Click
Dim strName As String
If UserNM.Text = "" Then
strName = "All_Users.xls"
Else
strName = UserNM.Text & ".xls"
End If
Try
Response.Clear()
Response.Buffer = True
Response.AddHeader("content-disposition", "attachment; filename=" & strName)
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Using sw As New StringWriter()
Dim hw As New HtmlTextWriter(sw)
GridView1.RenderControl(hw)
Dim style As String = "<style> .textmode { } </style>"
Response.Write(style)
Response.Output.Write(sw.ToString())
Response.Flush()
Response.End()
End Using
Catch ex As Exception
Message.Text = "Error exporting to Excel : " & ex.Message
End Try
End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
End Class
Большое спасибо!