назначение пути во встроенном JavaScript в asp.net MVC - PullRequest
0 голосов
/ 25 августа 2011

Я использую архитектуру MVC 2.

У меня есть файл Javacript (x.js) ..., в котором есть объявление для объекта hs (т.е. var hs).

В моем файле aspx я вызываю файл (x.js), используя тег <script>, и он работает правильно.

Я использую переменную hs и присваиваю значения ее свойствам в моем aspx в встроенном скрипте - найдитеэто ниже:

<script type="text/javascript">
    hs.graphicsDir = '../../Resources/graphics/';
    ...
    ...
</script>

Я обнаружил, что этот встроенный скрипт выполняется как в моей среде, так и в моей публикации, когда я отлаживал через Firebug.

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

Пожалуйста, предложите, как заставить его работать в развертывании.

Ответы [ 2 ]

1 голос
/ 25 августа 2011

попробуйте

hs.graphicsDir ="<%= Url.Content("~/Resources/graphics")%>"
0 голосов
/ 25 августа 2011

Следуя другому правильному ответу, вы можете отправить правильный URL-адрес клиентскому скрипту, используя такой код в вашем Page_Load методе:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "correct_url", "var graphDir = \"" + Url.Content("~/Resources/graphics") + "\";", true);

Тогда в вашем файле JS есть это:

hs.graphicsDir = graphDir;

Поскольку это MVC-приложение, а не обычный ASP.NET, вы должны выполнить шаги, описанные здесь , чтобы добавить Code Behind - если вы предпочитаете избегать этого, вы также можете иметь такой код непосредственно в.aspx сам файл:

<script type="text/javascript">
var graphDir = "<%=Url.Content("~/Resources/graphics")%>";
</script>

И иметь тот же код в файле .js, как я объяснил выше.(с использованием глобальной переменной)

...