Я пытаюсь присвоить переменную JS свойству ViewBag и использовать это свойство в Html ActionLink.Назначение свойства ViewBag в javascript
Однако я получаю ошибку компиляции времени проектирования: «Ошибка синтаксиса» прямо под методом getJSON как @ViewBag.CustomerID = data.CustomerID;
Может кто-то помочь мне с тем, как это делается?
Вот мой код:
@Html.ActionLink("Click to edit Customer", "EditCust", "Customer", new { ViewBag.CustomerID }, null);
<script type="text/javascript">
$(function()
{
var selID = null
$("#Name").change(function()
{
selID = $("#Name option:selected").val();
var url = '/Project/SpecificCustomer';
var param = { Id: selID };
$.getJSON(url, param, function (data)
{
@ViewBag.CustomerID = data.CustomerID;
var html = "<table border='1' cellpadding='3'>";
html += "<tr>";
html += "<td>" + "Customer ID: " + data.CustomerID + "</td>";
html += "</tr>";
html += "<tr>";
html += "<td>" + "Email: " + data.Email + "</td>";
html += "</tr>";
html += "<tr>";
var FirstName = data.FirstName;
FirstName == null ? "" : FirstName;
var LastName = data.LastName;
LastName == null ? "" : LastName;
html += "<td>" + "Name: " + FirstName + " " + LastName + "</td>";
html += "</tr>";
html += "<tr>";
var date1 = new Date(parseInt(data.CreatedDate.substr(6)));
date1 == null ? "" : date1;
html += "<td>" + "Created: " + date1 + "</td>";
html += "</tr>";
html += "<tr>";
var date2 = new Date(parseInt(data.UpdatedDate.substr(6)));
date2 == null ? "" : date2;
html += "<td>" + "Updated: " + date2 + "</td>";
html += "</tr>";
html += "</table>";
$("#divData").html('');
$("#divData").append(html);
});
});
});
</script>
К моменту запуска JavaScript серверный код (например, «ViewBag») уже завершен. Эти два не смешиваются друг с другом. Серверный и клиентский код работает на совершенно разных машинах в совершенно разные моменты времени. Зачем вам это значение в 'ViewBag' вообще? После просмотра представления «ViewBag» выходит из области видимости. Если вам нужно манипулировать чем-то клиентской стороной с этим значением, сделайте это в JavaScript-коде. Если вам нужно, чтобы сервер знал это значение, либо установите его (в JavaScript) в элемент формы для публикации на сервер, либо разместите его с помощью AJAX. – David
Спасибо за информацию :) – sagesky36