Asp.net vb.net中更新多项值时的困难

Asp.net vb.net中更新多项值时的困难,asp.net,arrays,asp.net-mvc,vb.net,foreach,Asp.net,Arrays,Asp.net Mvc,Vb.net,Foreach,我是vb.net和asp.net的新手。我正在尝试创建一个表单来更新数据库中的值 <input type="hidden" id="applicationid" value="<%= Request.QueryString("a")%>" /> 空缺申请是一个类别。这个类的代码写在下面 Public Class VacancyApplication #Region " Local variables and constants " Private _id As In

我是vb.net和asp.net的新手。我正在尝试创建一个表单来更新数据库中的值

<input type="hidden" id="applicationid" value="<%= Request.QueryString("a")%>" />
空缺申请是一个类别。这个类的代码写在下面

Public Class VacancyApplication

#Region " Local variables and constants "

Private _id As Integer
Private _vacancyid As Integer
Private _statusid As Integer
Private _status As String
Private _candidatestatus As String
Private _candidateid As Integer

#End Region

#Region " Intialize "

Private Sub Clear()
    _id = 0
    _vacancyid = 0
    _statusid = 0
    _status = String.Empty
    _candidatestatus = ""
    _candidateid = 0
End Sub

Public Sub New(Optional ByVal ID As Integer = 0)
    Clear()
    If ID <> 0 Then Load(ID)
End Sub

#End Region

#Region " Properties - Get and Set "

Public ReadOnly Property ID() As Integer
    Get
        Return _id
    End Get
End Property

Public Property VacancyID() As Integer
    Get
        Return _vacancyid
    End Get
    Set(ByVal value As Integer)
        _vacancyid = value
    End Set
End Property

''etc
''
#End Region

#Region " Code - Load, Save and Delete "


Private Sub Load(ByVal ID As Integer)

  ''Code for Loading the application

End Sub

Public Sub Save()

  ' 'code for Saving the application, and update the applicationid of referrals and introductions

End Sub

Public Sub Delete()

    ''Delete the application, and update the applicationid of referrals and introductions

End Sub

Public Function UpdateStatus(ByVal StatusID As Integer, Optional ByVal bRequireSendEmail As Boolean = True, Optional ByVal bIsMicrosite As Boolean = False) As Boolean

     ''Code for updating application status 

End Function

#End Region
End Class
公共类VacancyApplication
#区域“局部变量和常量”
私有_id为整数
Private _vacancyid作为整数
Private\u statusid为整数
私有\u状态为字符串
Private _candidatestatus作为字符串
Private\u candidateid为整数
#末端区域
#区域“初始化”
私人分机()
_id=0
_vacancyid=0
_statusid=0
_status=String.Empty
_candidatestatus=“”
_candidateid=0
端接头
Public Sub New(可选的ByVal ID为整数=0)
清除()
如果ID为0,则加载(ID)
端接头
#末端区域
#区域“属性-获取和设置”
公共只读属性ID()为整数
得到
返回id
结束
端属性
公共属性VacancyID()为整数
得到
返回值_vacancyid
结束
设置(ByVal值为整数)
_vacancyid=值
端集
端属性
“等等
''
#末端区域
#区域“代码-加载、保存和删除”
专用子加载(ByVal ID为整数)
''加载应用程序的代码
端接头
公共子存储()
“”代码,用于保存应用程序,并更新推荐和介绍的applicationid
端接头
公共子删除()
''删除应用程序,并更新推荐和介绍的applicationid
端接头
公共函数UpdateStatus(ByVal StatusID为整数,可选ByVal bRequireSendEmail为布尔值=True,可选ByVal bIsMicrosite为布尔值=False)为布尔值
''用于更新应用程序状态的代码
端函数
#末端区域
末级

您需要支持多个VacancyApplication。然后,如果只有1个,这与处理20个相同

Partial Class E4_Jobs_Details_Application_update_status
    Inherits System.Web.UI.Page

    Private _logger As Logger = LogManager.GetCurrentClassLogger()
    Private _applications As New List(Of VacancyApplication)
    Private _vacancy As Vacancy

    Public Property VacancyApplications As List(Of VacancyApplication)
        Get
            If _applications.Count = 0 Then
                Dim vIDs As New List(Of Integer)
                If Request("a").ToString.Contains(","c) Then
                    Dim vIDStrings = Request("a").ToString.Split(","c)
                    For Each vID in vIDStrings
                        vIDs.Add(CInt(vID))
                    Next
                Else
                    vIDs.Add(CInt(Request("a"))
                End If
                For Each vID in vIDs
                    _applications.Add(New VacancyApplication(vID))
                Next
            End If
            Return _applications
        End Get
        Set(value As List(Of VacancyApplication))
            _applications = value
        End Set
    End Property
。。。等等我希望您认识到,这会将
\u应用程序
变量更改为列表,而不是单个对象,因此请相应地修改其余代码


(在我被激怒之前,我用CInt/loops保持了它的简单性——我知道有更复杂但更短的方法!!)

谢谢你。你救了我一天

要添加更多详细信息并完成查询,我将提供更新的代码行,这些代码行将放在btnUpdate_server下,单击

Protected Sub btnUpdate_ServerClick(sender As Object, e As EventArgs) Handles btnUpdate.ServerClick


    For Each VacancyApplication In VacancyApplications
        VacancyApplication.Save()
        VacancyApplication.UpdateStatus(CInt(comNewStatus.Value), True, False)
    Next



    Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "CloseWindowScript", "window.close();", True)

End Sub
Protected Sub btnUpdate_ServerClick(sender As Object, e As EventArgs) Handles btnUpdate.ServerClick


    For Each VacancyApplication In VacancyApplications
        VacancyApplication.Save()
        VacancyApplication.UpdateStatus(CInt(comNewStatus.Value), True, False)
    Next



    Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "CloseWindowScript", "window.close();", True)

End Sub