Свойство Reading C# в код JQuery

При использовании Netbeans затем, он автоматически перекомпилировал класс и вводит его в рабочее веб-приложение, когда Вы сохранили файл. Нет никаких дополнительных включенных шагов, просто хит сохраняет.

6
задан Russ Clark 19 August 2009 в 13:57
поделиться

7 ответов

Это может указывать на очевидное, но код, стоящий за ним, не существует на на стороне клиента, на которой выполняется ваш код jQuery. Что вы можете сделать, так это присвоить значение свойства скрытому полю на стороне сервера, чтобы, когда вам нужно проверить его с помощью jQuery на стороне клиента, оно будет доступно. Таким образом, вы можете сделать следующее на стороне клиента.

Разметка:

<asp:HiddenField ID="hfValueINeedToKnow" runat="server"/>

Отложенный код:

hfValueINeedToKnow.Value = <some value>;

jQuery:

$("#<%= hfValueINeedToKnow.ClientID %>").val();

Вам может потребоваться внести некоторые незначительные изменения для поддержки значения для каждой строки сетки, но надеюсь, это объясняет общую идею.

12
ответ дан 8 December 2019 в 16:08
поделиться

Вы упомянули в комментарии, что значение является int. И я вижу, что это также общедоступное свойство в вашем коде. Теперь это тривиально - вам не нужно ни экранировать значение, ни обращаться к нему каким-либо обходным способом, и вы получаете безопасность типов бесплатно:

<script>
$(".AspNet-GridView-Normal > td > input").click(function() {

    var AvailableInstalls = <%= AvailableInstalls %>;

});
</script>
2
ответ дан 8 December 2019 в 16:08
поделиться

Ну, вы не можете.

Вам нужно отобразить свойство C # в каком-то элементе (возможно, в скрытом поле), а затем посмотреть на него таким образом.

Но объясните дальше: Какое имущество вы пытаетесь проверить?

1
ответ дан 8 December 2019 в 16:08
поделиться

В прошлом для этого сценария я распечатал значение моего кода в разметке и сохранил все, что он есть, в переменной javascript, тем самым сделав его копию доступной для клиента. -сторонний код. Это глупый пример, но, надеюсь, он имеет смысл:

<%
    var messsge = "Hello World!"
%>

<html>
<head>
<script type="text/javascript">
    function ShowMessage()
    {
        var msg = '<%= message %>';
        if(msg)
            alert(msg);
    }
</script>
</head>
</html>
0
ответ дан 8 December 2019 в 16:08
поделиться

Нет действительно чистого способа сделать это. Лучше всего, вероятно, будет использовать функциональность ClientScript.RegisterClientScriptBlock , встроенную в ASP.NET. Вот хороший пример .

private int myValue;

protected void Page_Load(object sender, EventArgs e) {
    ClientScript.RegisterClientScriptBlock(typeof(Page), 
        "vars", "<script>var myParams = { p1: " + myValue + ", p2: 'My Name' };</script>");
}

Это поместит прилагаемый сценарий на вашу страницу в верхнюю часть формы. Вы тоже можете это изменить. Очевидно, это не самое красивое; вы, по сути, объединяете строки на другом языке, но это будет работать, и простое объявление переменной не будет слишком грубо для глаз.

0
ответ дан 8 December 2019 в 16:08
поделиться

ASP, встроенный в JavaScript, всегда заставляет меня нервничать с точки зрения атак путем внедрения сценария и невозможности модульного тестирования вашего JavaScript.

Это основано на более раннем ответе:

<script type="text/javascript">
$(".AspNet-GridView-Normal > td > input").click(function() {

    var AvailableInstalls = $("#MyHidden").val();

});
</script>

Вы могли бы переместите его в скрытую переменную:

<input type="hidden" id="#MyHidden" value="<%= AvailableInstalls %>" />

Однако это не решит проблему внедрения. Таким образом, вы могли бы добавить скрытую переменную на стороне сервера и установить ее из функции события Page_Load в ASP.NET.

(Ps, вам также понадобится атрибут type = "text / javascript" в теге script, чтобы сделать его действительным HTML).

0
ответ дан 8 December 2019 в 16:08
поделиться

Если вы поместите свое значение в asp: HiddenField с идентификатором hfValueINeedToKnow, самый простой способ получить это значение на стороне клиента -

var jsvar = $("[id$=hfValueINeedToKnow]").val();

, поэтому вы также можете поместить этот код в отдельный .js файл.

0
ответ дан 8 December 2019 в 16:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: