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