0

我有一个页面,用户可以在其中向表中插入新记录。也就是说,有一个名为 PartNum 的字段出现了两次,它们出现在 DetailsView 中的不同 TemplateFields 中。

我希望第二次出现在用户输入第一次时自动填充。到目前为止,我有第一个代码:

Protected Sub PartNumChange(ByVal sender As Object, e As System.EventArgs)
    Dim str As String
    str = Me.ToString()
    Try
        DetailsView1A.DataItem("PrimaryKey5") = str
    Catch nre As NullReferenceException
    End Try

End Sub

其中 str 是指第一个获取值的文本框,而“PrimaryKey5”是应在用户键入时更新的文本框。

不幸的是,似乎什么都没有发生。我确实打开了 AutoPostBack。第二个文本框是否也需要某种代码隐藏?

4

1 回答 1

0

尽管您没有具体说明,但您提到的 Postback 表明这是一个 Web 应用程序而不是客户端应用程序。您正在编写的代码是服务器端的,这意味着它不在用户的浏览器中运行,只有在页面提交到服务器时才有机会运行(例如,如果单击按钮或导航链接) -即使使用 AutoPostBack,您也不会对每次按键都进行刷新。尽管可以为文本框中的每个按键回发,但这会导致您的页面反复刷新,并且不会是一个好的用户体验。

更有可能的是,如果您希望在浏览器中实现这种效果,您希望将其实现为 Javascript 的客户端位。该脚本可以在客户端的浏览器中运行而无需访问服务器,并且会提供更好的体验。

于 2013-06-28T14:08:45.110 回答