问题描述:
通过Controller把model传到View,在View用@Html.HiddenFor隐藏MenuId 和 SecondMenuId,结果ajax提交时MenuId 和 SecondMenuId变为了一样,新手不知道问题出在哪里,求大神指点。
跟踪过程:
1.
2.视图代码:
3.
4.提交到Action
错误出在第一步到第二步之间。
MODEM的值和渲染为HTML的值不一样,这个是问题。
至于是啥问题,你提供的信息不足以判断。
需要Controller及cshtml全部代码。
不关ajax提交的事了,提交前就已经一样了
你传的时候只有一个id 回去再渲染之前就有问题了
我猜测一下,你把Edit的参数menuid随便改个试试
mvc渲染视图对model有个优先级,没全部代码看不出
在View(model)这个地方监视一下,感觉你的model对象已经出问题了。
你期望的是什么?HiddenFor和TextFor类似,不同的是一个使用type=text的input,另外一个是type=hidden的input。
你在输出的时候,你的Model的Id(MenuId和SecondMenuId)的值是这样的一个内容,自然牛这样了。
要解决这个问题:
1、你要知道你想输出的是什么
2、你的MenuId和SecondMenuId为什么定义成这样了
3、数据是否正确(Model的构造是否有异常)
侦听一下View层的Model,看Model.MenuId 和 Model.SecondMenuId.
我觉得你的问题是出在缓存上,可能是你之前赋值错了。然后VS没有重新生成或者浏览器缓存了错误数据。
不然按照你的截图逻辑是不会有问题的
可以抓取http请求,看看你发送到服务器的请求参数信息,就知道问题出在哪了。
http://www.cnblogs.com/saaav/p/3702436.html
看看你是不是这么干的