在aspx.cs文件中,是否可以通过jquery获取属性(get;set;),比如说Name?
是的,这取决于您使用的框架:
<script type="text/javascript">
var someProp = "<% = this.PropertyName; %>";
</script>
您可能会遇到编码问题,因此请确保为JavaScript转义值。
如果你的脚本是内联在aspx页面中的,只需使用ASP标记将其嵌入脚本即可。
<html.....
<script type="text/javascript">
public function myJSFunction()
{
var x = '<%= Name %>';
...
}
</script>
[assembly: WebResource("myJS.js", "text/javascript", PerformSubstitution=true)]
Name
,那么设置属性呢?我如何从jquery/javascript设置这个 Name
属性? - Razort4x您可以使用受保护的属性,如下所示:var name = '<%= Name %>';
或者从代码后台生成JavaScript代码,并通过使用ClientScript.RegisterClientScript*
在客户端注册。
你可以使用一个隐藏的输入控件,并在属性内设置它的值。然后,你可以通过访问隐藏变量的值来访问属性的值。
例如:
aspx页面
<asp:HiddenField id="hiddenField1" runat="server">
代码后台
Public Property MyProperty as String
Get
Return hiddenField1.Value
End Get
Set(value as string)
hiddenField1.Value = value
End Set
jQuery
var hValue = $('#<%= hiddenField1.ClientID %>').val();
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientVariable", "var clientVariable = '" + clientValue + "';", true);
其中clientValue是您希望在客户端代码中使用普通的javascript变量clientVariable访问的值。
不要忘记在结尾处加上'true'参数,因为默认情况下不会添加脚本标签,这会防止脚本正常工作。