2013-12-23 2 views
0

Довольно новый для C#, и я уверен, что есть простое решение для этого, но я просто не вижу его.Вывести строку javascript на страницу с помощью C# .net

В основном у меня есть некоторый javascript, который хранится в переменной, которую я хотел бы только выводить на страницу, если выполнено определенное условие.

Это то, что я пытался до сих пор:

<%= conditionMet ? rawJavascriptString : "" %> 

Это, однако, не будет работать, я уверен, что это просто один, но был бы признателен за любую помощь. Итак, вопрос в том, как я могу визуализировать сценарий ответа, если какое-то условие выполнено и опустить его иначе?

+0

Вы получаете сообщение об ошибке? –

+0

Какой механизм просмотра вы используете для этой страницы? – mart

+0

Являются ли 'conditionMet' и' rawJavascriptString 'общедоступными vars? –

ответ

0

Я думаю, что вам нужно сделать что-то вроде

<span id="content"></span> 

<script type="text/javascript"> 
    var rawJavascriptString = 'whatever' 
    var serverSideValue = '<%= conditionMet %>'; 

    if (serverSideValue) { 
     $("span#content").text(rawJavascriptString); 
    } 

</script> 

В принципе вы можете получить значение переменной на стороне сервера, выдаваемого в переменную JavaScript, а затем использовать эту переменную, чтобы выяснить, что, чтобы установить содержание в ,

Естественно, я не знаю, как выглядит ваш HTML, но приведенный выше пример является простым примером, который вы можете использовать для удовлетворения ваших потребностей. Кроме того, в целом, я думаю, что это немного чище, но это субъективное мнение :)

1

Вместо того, чтобы регистрировать скрипт в ASPX напрямую, ознакомьтесь с классом ClientScriptManager. Он предоставляет методы для вывода JavaScript (или подобных блоков сценариев клиента) программным способом. Вы можете проверить состояние и использовать его в файле CodeBehind (например, в Page_Load-события) для вывода сценария:

if (conditionMet) 
    Page.ClientScript.RegisterClientScriptBlock(GetType(), 
      "MyKey", 
      "<script type=\"text/javascript\">alert('Test');</script>", false); 

Особенно RegisterClientScriptBlock и RegisterStartupScript методы могут быть полезны. Чтобы однозначно идентифицировать скрипт, вы предоставляете тип и ключ. Они также могут использоваться для удаления или замены скрипта.

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