ASP.Net基于其他字段自动填充字段
我刚刚转到web开发,需要知道如何使用asp.net和vb.net实现以下要求 表单中有三个字段由用户填写。基于这三个值,我需要自动填充第四个字段。我已经计划通过以下方式实现这一点ASP.Net基于其他字段自动填充字段,asp.net,vb.net,auto-populate,Asp.net,Vb.net,Auto Populate,我刚刚转到web开发,需要知道如何使用asp.net和vb.net实现以下要求 表单中有三个字段由用户填写。基于这三个值,我需要自动填充第四个字段。我已经计划通过以下方式实现这一点 编写一个单独的类文件,其中包含一个函数,用于根据前3个输入计算第4个字段的可能值。此函数可以返回一些介于1-10之间的值。所以我决定对第四个字段使用下拉列表,并允许用户选择适当的值 在第三个字段的onchange函数中调用上述函数,并获取并使用返回值填充第四个字段。我计划在数组字段中获取返回值。(这需要回发吗?) 请
谢谢。
你可能想考虑用JavaScript来做这件事。您可以使用纯Javascript,或者使用(我最喜欢的)一个很好的库,非常轻松地读取和控制字段。如果这样做,则不需要回发,第4个字段将立即更新。(非常适合您的用户)在大多数情况下,您也可以使用ASP.NET来完成。据我所知,ASP.NET中的“onchange”仍然需要Javascript,它只是为您做了一些工作。当您更改某些内容时,回发肯定会发生。您需要javascript或在表单元素上设置autopostback=true
从用户的角度来看,最好是使用javascript填充要显示的字段,但在提交表单时,使用后端函数对其进行验证。这将确保用户没有更改该值。一个简单的方法是在UI中使用jQuery(这样你就不必担心冗长的javascript和处理浏览器兼容性问题,因为它已经为你解决了),并让它调用服务器获取数据。对于服务器,最简单的方法是返回循环值的JSON 包括jQuery:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
比如:
<script type="vb" runat="server">
Private Sub Page_Init()
// get your data
// loop through it and add in values
// ex.
Dim result As String = "[" //start multi-dimensional array
For Each Item As String In data
result += String.Format("['{0}','{1}'],", _value, _text)
Next
result = result.SubString(0, result.Length - 1) // removes trailing comma
result += "]" // closes off m-array
Response.Write(result)
Response.Flush()
End Sub
</script>
私有子页_Init()
//获取您的数据
//循环遍历它并添加值
//前。
Dim结果为String=“[”//启动多维数组
将每个项目作为数据中的字符串
结果+=String.Format(“['{0}','{1}],”,_值,_文本)
下一个
result=result.SubString(0,result.Length-1)//删除尾部逗号
结果+=“]”//关闭m-array
Response.Write(结果)
Response.Flush()
端接头
[['value1','text1'],['value2','text2'],['value3','value3']]
<script type="vb" runat="server">
Private Sub Page_Init()
// get your data
// loop through it and add in values
// ex.
Dim result As String = "[" //start multi-dimensional array
For Each Item As String In data
result += String.Format("['{0}','{1}'],", _value, _text)
Next
result = result.SubString(0, result.Length - 1) // removes trailing comma
result += "]" // closes off m-array
Response.Write(result)
Response.Flush()
End Sub
</script>