我有一个在js函数中获取值的变量。我需要将其值作为双精度值放入vb.net变量中。
我已经尝试将变量放入标签中,然后从vb.net中的标签中抓取它,如下面的代码所示:
Js部分。
document.getElementById("Label1").innerText = nwLat;
然后在vb部分
Dim nwLat As Double
nwLat = Label1.Text
MsgBox(nwLat)
它对我没有任何想法?出现的错误是 输入字符串的格式不正确。
干杯!
答案 0 :(得分:3)
没有任何类型的ajax的最简单方法是使用隐藏字段。
标记:
<asp:HiddenField ID="nwLatHidden" runat="server" Value="" />
JS:
document.getElementById('nwLatHidden').value = '6.00'; // or of course the value from your function.
.NET:
Dim nwLat As Double
nwLat = nwLatHidden.Value
答案 1 :(得分:2)
在JavaScript中:
__doPostBack(
'edit',
JSON.stringify({ ID: id, Code: code, AcctNo: acctNo })
);
在VB.NET中:
Protected Sub Page_Load(s As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
'...
Else
Dim eventTarget As String = Request.Form!__EVENTTARGET
Dim eventArgument As String = Request.Form!__EVENTARGUMENT
If Not eventArgument Is Nothing AndAlso Not eventTarget Is Nothing AndAlso eventTarget = "edit" Then
Dim jss As New JavaScriptSerializer()
Dim ac As AccountCode = jss.Deserialize(Of AccountCode)(eventArgument)
End If
End If
End Sub
答案 2 :(得分:1)
您需要使用ClientID或UniqueID:
document.getElementById("<%=Label1.UniqueID%>").innerText = "Hi";