自动填充文本框基于另一个输入

时间:2013-06-28 14:03:40

标签: vb.net data-binding autocomplete textbox

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

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

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。第二个文本框是否也需要某种代码隐藏?

1 个答案:

答案 0 :(得分:0)

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

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