有没有办法在javascript中访问C#公共属性?
例如如果C#代码中有以下属性:
public int MyProperty { get; set; }
可以在javascript文件中访问此属性吗?
答案 0 :(得分:5)
有几种方法
<script>
var prop = <%=MyProperty %>;
</script>
使用隐藏字段
HTML:
<input id="hiddenF" type="hidden" runat="server" />
在.cs后面:
protected void Page_Load(object sender, EventArgs e)
{
hiddenF.Value = MyProperty;
}
然后通过getElementById()获取值。值
使用ASP.NET MVC razor引擎传递模型
<script>
var prop = @Model.MyProperty;
</script>
答案 1 :(得分:4)
您可以在inline syntax
的帮助下在.aspx页面中引用任何public/protected
属性值
<强> C#强>
public string MyProperty{get;set;}
<强>的.aspx 强>
<script language="javascript" type="text/javascript">
var propValue= <%= MyProperty%>; // available in window/global context
//var propValue= '<%= MyPublicMethod("parameter")%>';
</script>
<强> JS 强>
function getMyValue(){
return propValue; // since it is written as part of page HTML, you can get it
}
的更多参考资料
答案 2 :(得分:0)
不,但您可以将值放入隐藏字段并从js访问它。
或者您可以创建服务器方法并从JS调用它。
答案 3 :(得分:0)
JavaScript中不存在该变量,因为它在与C#代码不同的机器上运行。 C#正在服务器上运行,JavaScript正在客户端的浏览器上运行。
让您的页面将属性写入动态生成的javascript var或HTML隐藏字段。