【问题标题】:Autofill textbox based on input in another根据另一个输入自动填充文本框
【发布时间】:2013-06-28 22:09:07
【问题描述】:

我有一个页面,用户可以在其中向表中插入新记录。也就是说,有一个名为 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。第二个文本框是否也需要某种代码隐藏?

【问题讨论】:

    标签: vb.net data-binding autocomplete textbox


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,这是一个非常有见地的答案。但是现在让我们说,我只希望第二个在第一个失去焦点时更新(就像我点击离开它一样)。这段代码似乎仍然不起作用。有什么想法吗?再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-07-23
    • 2011-03-14
    • 2012-02-06
    • 2021-12-04
    • 2018-03-08
    • 2014-12-13
    • 2020-03-26
    • 1970-01-01
    相关资源
    最近更新 更多