Надеюсь, кто-то может мне помочь с этим ..... Я создаю проект MVC3, и я не могу понять, почему мое частичное представление не может выполнять какие-либо встроенные функции javascript.Вот составленный пример, но, надеюсь, покажет принципал, которого я пытаюсь достичь ....
У меня есть список элементов в представлении, называемых Элементами.
foreach (var item in Model.SaleItems)
{
<div>@Html.ActionLink((string)item.ID, "Item", new { ID = @item.ID })</div>
}
Если пользователь щелкнет один из элементов, они будут отправлены на страницу с подробной информацией о выбранном элементе.На этой странице есть меню, будет 3 варианта;детали, обзоры, изображения (каждый частичный вид).Если пользователь выбирает в меню параметр «Детали», то в части сведений будут отображаться несколько диаграмм из веб-службы, например API визуализации Google.
Вот мое частичное представление со сценарием для загрузки диаграммы:
<div>
<h4>Details</h4>
<div id= "detailsContainer"></div>
</div>
<script type="text/javascript">
$(document).ready(function () {
google.load('visualization', '1', { packages: ['table'] });
google.setOnLoadCallback(drawDetailsTable);
});
function drawDetailsTable() {
var data = new google.visualization.DataTable();
data.addColumn('string', '');
data.addColumn('string', '');
data.addRows(4);
data.setCell(0, 0, 'Color');
data.setCell(0, 1, '<b>@Model.Color</b>');
data.setCell(1, 0, 'Size');
data.setCell(1, 1, '<b>@Model.Size</b>');
data.setCell(2, 0, 'Weight');
data.setCell(2, 1, '<b>@Model.Weight</b>');
data.setCell(3, 0, 'Material');
data.setCell(3, 1, '<b>@Model.MainMaterial</b>');
var table = new google.visualization.Table(document.getElementById('detailsContainer'));
var options = { allowHtml: true };
table.draw(data, options);
}
</script>
У кого-нибудь есть идеи, почему это не работает?Если я переместлю сценарий из частичного представления в представление и статически объявлю элемент в ActionResult основного представления, он будет работать, но в остальном это не так.
Заранее спасибо!