是否可以使用jquery在页面类中设置属性的值?我知道只要该属性是公共的但似乎无法设置该值,就可以在jquery中获取该值。
这是后面代码中的属性。
Private inventory_item_id As String = ""
Public Property InventoryItemId() As String
Get
Return inventory_item_id
End Get
Set(ByVal value As String)
inventory_item_id = value
End Set
End Property
<%=Me.InventoryItemId %> = 'some value';
无效
谢谢
答案 0 :(得分:5)
首先,您应该知道<%=Me.InventoryItemId %>
在呈现页面时替换实际值(在浏览器页面上查看源代码,您将看到id,例如1234,而不是对属性的引用) 。话虽这么说,您可以设置客户端隐藏字段的值,然后您可以在回发期间读取并使用它来设置您的属性。请注意,答案“否”在技术上是正确的 - 一旦页面被渲染,该属性就不再存在 - 但是在回发期间没有什么能阻止您再次设置它。
事实上,您可以将您的财产直接绑定到隐藏字段:
Public Property InventoryItemId() As String
Get
Return hdnInventoryItemId.Value
End Get
Set(ByVal value As String)
hdnInventoryItemId.Value = value
End Set
End Property
假设您定义了以下隐藏字段:
<asp:HiddenField ID="hdnInventoryItemId" runat="server"/>
最后,您的jQuery可以使用以下语法设置字段(但这只是众多方法中的一种,可以设置):
$('<%= hdnInventoryItemId.ClientID %>').val('some value');
答案 1 :(得分:5)
仅在页面加载并经历其页面生命周期时才存在该值后面的代码。现在,在加载页面时,您可以通过执行类似
之类的操作将值放入脚本中 var valueFromServer = <% Me.InventoryItemId %>;
但是,一旦页面加载,您就无法返回并更改该属性,因为它已不存在
答案 2 :(得分:0)
在JS / JQ更新后,您打算如何检索新值?如果您正在执行某种客户端重新计算,然后将值提交回服务器,则可以创建一个隐藏字段,如存储您的属性值。
然后,当用户提交您的页面(或回复,等等)时,您可以检查该隐藏字段的值并适当更新您的属性。