我有一个列出目录的方法,你可以在目录中钻取。该方法如下所示:
public ActionResult ListObjects(string Prefix)
{
if(string.isnullorempty(Prefix))
//Present root files and directories
else
//Present directory choosed with Prefix
}
在视图 ListObjects 上,我遇到前缀隐藏字段在第一次具有值后没有更改值。我通过添加一个额外的字段来证明这一点,该字段在第一次拥有一个值后会更改该值。例如:第一次处理listobjects方法prefix为null,item.prefix对每个目录都有第一个值,但是第一次视图点击任意目录后,第二次调用controller实际值never变化。
<%= 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"/>
我的目标是让输入 id="Prefix" 在每次调用中都发生变化,而不是在第一次获得值后保持不变。如您所见,前缀上方的两个输入字段有 CP,而 testvariable 有 cp/cptest,这是我想要的值,但是两个输入字段都取自同一个变量。
编辑2:
我认为这与字符串是引用的事实有关,并且由于 mvc 框架看到 Prefix 具有来自先前请求的值,它会覆盖来自 model.Prefix 的新值分配。
注意:我昨天发布了这个问题,经过一些故障排除后我自己回答了这个问题。我找到的解决方案不是理想的,但正在工作,我已经完成了,除非这里有人能够给我一个更好的方法来实现同样的目标。请告诉我。地理