Адреса в любом компьютере являются байтовыми адресами. Невозможно иметь меньшую степень детализации при рассмотрении доступа к памяти.
Вы можете полностью получить доступ к последовательным байтам в памяти, увеличив указатель, но у вас должен быть указатель на байты (например, char или unsigned char в C).
Если ваш указатель указывает на объект другого типа (целые числа, числа с плавающей запятой, структуры и т. Д.), Увеличение указателя приведет вас к следующему объекту. Например, если p является указателем на int (4 байта), p ++ добавит к p размер int (4).
Google «арифметика указателей», если не знакома с этими понятиями.
Имейте Вас попробованный:
<% Html.RenderPartial("~/Views/Project/Projects.ascx", ViewData); %>
Также Вы проверили, что ViewData ["Тест"] находится в ViewData перед передачей его? Также обратите внимание, что при передаче ViewData Частичному Управлению, что важно сохранить Модель тем же.
Nick
В Вашем основном представлении:
<% Html.RenderPartial("~/Views/Project/Projects.ascx", ViewData["Projects"]); %>
или в Вас контроллер или в Вашем основном представлении:
ViewData["Test"] = "Mark";
, Если Вы не указываете модель или просматриваете словарь данных в RenderPartail, он использует тех от содержания представления.
Я использую версию RTM ASP.NET MVC, но с:
<% Html.RenderPartial("~/Views/Project/Projects.ascx", new ViewDataDictionary(new {Key = "Some value"})); %>
Попробуйте следующее при ссылке на значение в частичном представлении:
<%= ViewData.Eval("Key") %>
Это, кажется, добилось цели для меня. Это будет также работать, если Вы просто сделаете это:
<% Html.RenderPartial("~/Views/Project/Projects.ascx", new {Key = "Some value"}); %>
Надеюсь, это поможет.
Не знаю, волнует ли еще кого-нибудь, но я использовал KeyValuePair для ViewDataDictionary.
<% Html.RenderPartial("ItemRow", item, new ViewDataDictionary{
new KeyValuePair<string, object>("url", url),
new KeyValuePair<string, object>("count", count),
new KeyValuePair<string, object>("className", className)
}); %>
Таким образом, вы можете записать все в одном утверждении. Доступ к KVP можно получить в представлении:
<%= ViewData["url"] %>
<%= ViewData["count"] %>
<%= ViewData["className"] %>
В то время как то, что я пропустил через модель, можно получить через Модель. *
Это самый изящный способ, который я видел для этого:
<% Html.RenderPartial("/Views/Project/Projects.ascx", Model, new ViewDataDictionary{{"key","value"}});%>
Это может показаться немного хакерским, но он позволяет вам отправить модель через И некоторые дополнительные данные.