2013-12-11 5 views
1

Есть ли способ доступа к общедоступным свойствам C# в javascript?Доступ к открытому свойству C# в javascript

Для примера. если в коде C# имеется следующее свойство:

public int MyProperty { get; set; } 

Доступно ли это свойство в файле javascript?

+0

вы пытаетесь получить к нему доступ в ASPX страницы? Если так посмотреть http://stackoverflow.com/a/1089271/ 961113 – Habib

+1

Нет, не от JS напрямую. Вам нужно будет напечатать значение серверной части свойства в ASPX с помощью 'var javaScriptVariable = '<% = object.PropertyValue%>'; или что-то в этом роде/ –

+0

@Habib: Я не пытался получить доступ к нему на странице aspx. –

ответ

3

Есть несколько способов

<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 () .Va LUE

с использованием ASP.NET MVC бритву двигатель проходящей модель

<script> 
var prop = @Model.MyProperty; 
</script> 
0

нет, но вы можете поместить значение в скрытое поле и получить к нему доступ из js.

или вы можете сделать метод сервера и вызвать его из JS.

0

Эта переменная не существует в JavaScript, поскольку она работает на другой машине, чем код C#. C# работает на сервере, а JavaScript работает в браузере клиента.

Попросите вашу страницу записать свойство либо в динамически генерируемое javascript var, либо в скрытое поле HTML.

2

Вы можете передать любое значение public/protected свойства на странице .aspx с помощью inline syntax

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

Смежные вопросы