2011-02-07 4 views
1

Представьте, что некоторые javascript-коды будут добавлять страницы бритвы.JavaScript в режиме реального времени на страницах бритвы в MVC3

<script type="text/javascript"> 
    $(function() { 
     $('#photogallery a.lightbox').lightBox(); 
     $('#photogallery').infiniteCarousel({ imagePath: '/Content/Images/Components/InfiniteCarousel/', autoStart: false }); 
     $(".flows").collapsiblePanel(); 
     $("[email protected]").tabs(); 
    }); 
</script> 

Этот код нужен некоторый элемент html, определяемый классом css по .tab и .flows. Нет смысла для потоков, но .tab @ model.id строить во время выполнения, потому что ему нужна модель.

Я хотел бы определить атрибут для метода контроллера, и я хотел бы добавить automaticaly с кодом.

Как

[JavaScript("menu.js")] 
public ActionResult Menu(object param) 
{ 
return PartialView(this.categoryService.GetAllCategories()[0]); 
} 

и вид бритвы будут автоматически получают код с

... 
$("[email protected]").tabs(); 
... 

ли Phantasy или могут быть реализованы в реальной жизни.

Thanks

+2

Обратите внимание, что 'tab @ Model.id' должно быть' tab @ (Model.id) 'из-за того, что он похож на адрес электронной почты. – Buildstarted

+0

Ваш вопрос крайне неясен. – SLaks

ответ

1

Ваш блок Javascript будет работать нормально как есть.
Просто поместите его в поле зрения.

+0

Мне действительно интересно, могу ли я создавать независимые представления javascript. Поскольку javascripts могут быть изменены по какой-либо причине (например, сегодня мы используем одну специальную JQuery-библиотеку 3-й стороны, завтра я заменю ее на другую.) Я мог бы иметь сильные атрибуты (атрибуты C#) для управления javascript, которые связаны с моделью , –

+0

@Nuri: Вы можете поместить Javascript в частичный вид, а затем включить его в основной вид. – SLaks

+0

Да, мы используем частичные представления с помощью @section, но это не файл (как menu.js, collasable.cs), потому что он был создан во время выполнения некоторыми причинами селектора jquery. и все запросы имеют много раз производят javascript и размер страницы, которые всегда заполняются js-кодами. Если я могу добавить в голову как * .js, это будет стоить меньше, чем построено js. Я иду неправильно? –

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