У меня есть метод, который выводит список каталогов, и вы можете просматривать каталоги. Метод выглядит так:
public ActionResult ListObjects(string Prefix)
{
if(string.isnullorempty(Prefix))
//Present root files and directories
else
//Present directory choosed with Prefix
}
В представлении ListObjects я вижу, что скрытое поле префикса не меняет значение после того, как оно впервые появилось. Я доказал это, добавив и дополнительное поле, которое изменяет значение после первого раза, когда оно есть. например: при первой обработке префикс метода listobjects имеет значение null, а item.prefix имеет первое значение для каждого каталога, но после того, как вы щелкнете по любому каталогу в первом представлении, во второй раз контроллер никогда не будет вызывать фактическое значение изменения.
<%= Html.Hidden("Prefix",item.Prefix) %>
<%= Html.Hidden("TestVariable" ,item.Prefix) %>
Это небольшое доказательство того, что на самом деле происходит.
<input id="Prefix" type="hidden" value="CP/" name="Prefix"/>
<input id="TestVariable" type="hidden" value="CP/CPTest/" name="TestVariable"/>
Моя цель состоит в том, чтобы при каждом вызове входной идентификатор = «Префикс» менялся, а не оставался статичным после первого получения значения. Как вы можете видеть в двух полях ввода выше, у префикса есть CP, в то время как у тестовой переменной есть cp / cptest, то есть то значение, которое я хотел, но оба поля ввода взяты из одной и той же переменной.
РЕДАКТИРОВАТЬ 2:
Я думаю, что это связано с тем фактом, что строки являются ссылками, и, поскольку инфраструктура mvc видит, что префикс имеет значение из предыдущего запроса, он переопределяет новое присвоение значения из модели. Префикс.
ПРИМЕЧАНИЕ. Я вчера опубликовал вопрос и сам отвечаю на него после небольшого устранения неисправности. Решение, которое я нашел, не является идеальным, но оно работает, и я готов, если кто-то здесь не сможет дать мне лучший способ добиться того же. Пожалуйста, дайте мне знать. Geo