2014-09-06 1 views
0

Я использую DataTables в своем проекте, и я хочу разместить два похожих списка на одной странице. Я решил использовать один и тот же частичный вид для обоих, но когда я попытался применить к ним функциональность DataTables, у меня есть столкновение с Id.Несколько частичных представлений. Id collision

Мой частичный вид:

<table style=" margin:0" id="incidents"> 
... 
</table 
<script type="text/javascript"> 
$('#incidents').DataTable(); 

Мой родитель мнение:

<h2>Important incidents</h2> 
@Html.Partial("Incidents", Model.Where(m => m.Relevance == true) 
<h2>Other incidents</h2> 
@Html.Partial("Incidents", Model.Where(m => m.Relevance == false).Where(m=>m.Date>DateTime.UtcNow.AddHours(-6).AddDays(-5))) 

Можно ли сделать это без создания двух аналогичных частичный вид?

+0

почему вы не загружать два частичных представления в отдельных таблицах –

+0

@ Исключение означает, что вы имеете в виду создание двух частичных представлений с единственной разницей в идентификаторе таблицы? – silentfobos

+1

Вы можете дать таблицам разные атрибуты id, передав значение из основного представления в частичное, используя ViewDataDictionary –

ответ

1

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

Главного вида

<h2>Important incidents</h2> 
@Html.Partial("Incidents", Model.Where(...), new ViewDataDictionary { { "id", "important" } }) 
<h2>Other incidents</h2> 
@Html.Partial("Incidents", Model.Where(...), new ViewDataDictionary { { "id", "other" } }) 

<script type="text/javascript"> 
    $('#important').DataTable(); 
    $('#other').DataTable(); 

Частичного

<table id="@ViewData["id"]"> 
    .... 
</table>