Asp.net Can';当值被分配到加载页面中的文本框时,t更新数据

Asp.net Can';当值被分配到加载页面中的文本框时,t更新数据,asp.net,vb.net,web,Asp.net,Vb.net,Web,我的问题可能是愚蠢的,因为我没有编程经验,但请帮助 因此,我将一些文本框设置为我的另一个页面中的值,以便用户可以编辑他们的任务,查看他们的任务是原始的,并从那里进行编辑 问题是我在页面加载中设置了这些值,因此当我尝试更新它时,它更新了原始值,而不是输入的新值,因为页面加载返回了旧值。因此,我无法将数据库更新为新值 是否有办法解决此问题或修复此问题?我应该把代码放在别的地方吗 编辑:好的,所以我做了更多的研究,发现我的问题可以通过使用IsPostBack解决,但我不知道如何使用这段代码。我唯一能理

我的问题可能是愚蠢的,因为我没有编程经验,但请帮助

因此,我将一些文本框设置为我的另一个页面中的值,以便用户可以编辑他们的任务,查看他们的任务是原始的,并从那里进行编辑

问题是我在页面加载中设置了这些值,因此当我尝试更新它时,它更新了原始值,而不是输入的新值,因为页面加载返回了旧值。因此,我无法将数据库更新为新值

是否有办法解决此问题或修复此问题?我应该把代码放在别的地方吗

编辑:好的,所以我做了更多的研究,发现我的问题可以通过使用IsPostBack解决,但我不知道如何使用这段代码。我唯一能理解的是,它用于在页面加载刷新之前将页面返回到

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

    If Session("Editing") IsNot Nothing Then

        btnCreate.Visible = False
        btnEdit.Visible = True
        Dim Form As FormViewRow = CType(Session("Editing"), FormViewRow) 'get data from the the formview in Home page

        Dim Title As Label = CType(Form.FindControl("TitleLabel"), Label)
        txtTitle.Text = Title.Text

        Dim description As Label = CType(Form.FindControl("DescriptionLabel"), Label)
        txtDescription.Text = description.Text

        Dim diff As Label = CType(Form.FindControl("DifficultyLabel"), Label)
        ddlDifficulty.Text = diff.Text

        Dim taskID As Label = CType(Form.FindControl("IDLabel"), Label)
        Dim whatID As String = taskID.Text
        Session("EditTaskID") = taskID.Text

    End If

End Sub

我不知道你的编辑页面是在同一个窗口中打开的,还是在新窗口中打开的。在第一个场景中,您可以将编辑后的值保存在诸如
Session
之类的位置,并在主页的
page\u Load
服务器事件中还原它们。根据第二个场景,您可以使用一些简单的
javascript
代码将数据更改反射到主页。

好的,所以我只是在玩IsPostBack,并设法让它工作

我所做的只是把我的代码放在一个If语句中,IsPostBack不等于True,那么。。。既然我还在学习,有人能用最简单的术语解释IsPostBack的含义吗

如果没人向我解释就好了。我的问题已经解决了,谢谢你阿明花时间来帮助我。(:

Protected Sub-Page\u Load(发送方作为对象,e作为事件参数)处理我。Load
如果IsPostBack为True,则
如果会话(“编辑”)不是空的,那么
btnCreate.Visible=False
btnEdit.Visible=True
Dim Form As FormViewRow=CType(会话(“编辑”),FormViewRow)“从主页中的formview获取数据
作为标签的Dim Title=CType(Form.FindControl(“TitleLabel”),标签)
txtTitle.Text=Title.Text
作为标签的Dim描述=CType(Form.FindControl(“DescriptionLabel”),标签)
txtDescription.Text=说明.Text
Dim diff As Label=CType(Form.FindControl(“困难标签”),Label)
ddl.Text=差异文本
Dim taskID As Label=CType(Form.FindControl(“IDLabel”),Label)
Dim whatID As String=taskID.Text
会话(“EditTaskID”)=taskID.Text
如果结束
如果结束
端接头

我所在的页面也是我的创建页面。我之所以选择这样做,是因为我的其他页面在我的formview中的编辑不会更新来自不同表单的值(下拉列表、复选框、日历等)。我如何保存编辑后的值?我对ASP.NET上的javascript不太了解。它不是我的第一种编程语言,所以即使它很简单,我也会遇到很大的问题。
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load


    If IsPostBack <> True Then

        If Session("Editing") IsNot Nothing Then
            btnCreate.Visible = False
            btnEdit.Visible = True

            Dim Form As FormViewRow = CType(Session("Editing"), FormViewRow) 'get data from the the formview in Home page

            Dim Title As Label = CType(Form.FindControl("TitleLabel"), Label)
            txtTitle.Text = Title.Text

            Dim description As Label = CType(Form.FindControl("DescriptionLabel"), Label)
            txtDescription.Text = description.Text

            Dim diff As Label = CType(Form.FindControl("DifficultyLabel"), Label)
            ddlDifficulty.Text = diff.Text

            Dim taskID As Label = CType(Form.FindControl("IDLabel"), Label)
            Dim whatID As String = taskID.Text
            Session("EditTaskID") = taskID.Text

        End If

    End If

End Sub