在javascript中访问c#公共属性

时间:2013-12-11 16:13:26

标签: c# javascript asp.net

有没有办法在javascript中访问C#公共属性?

例如如果C#代码中有以下属性:

public int MyProperty { get; set; }

可以在javascript文件中访问此属性吗?

4 个答案:

答案 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
}

INLINE Syntax in ASP.NET

的更多参考资料

答案 2 :(得分:0)

不,但您可以将值放入隐藏字段并从js访问它。

或者您可以创建服务器方法并从JS调用它。

答案 3 :(得分:0)

JavaScript中不存在该变量,因为它在与C#代码不同的机器上运行。 C#正在服务器上运行,JavaScript正在客户端的浏览器上运行。

让您的页面将属性写入动态生成的javascript var或HTML隐藏字段。