【发布时间】:2013-01-11 09:48:00
【问题描述】:
我正在尝试使用 javascript 将模型从视图传递到控制器。但它返回空值。
这是我的看法 Newcamp.chstml
<input type="submit" value="Preview" id="ClickMe" class="cssLoginButton blue"/>
<script type="text/javascript">
function OpenWindow(query, w, h, scroll) {
var l = (screen.width - w) / 2;
var t = (screen.height - h) / 2;
winprops = 'resizable=0, height=' + h + ',width=' + w + ',top=' + t + ',left=' + l + 'w';
if (scroll) winprops += ',scrollbars=1';
var f = window.open(query, "_blank", winprops);
}
$(function () {
$('#ClickMe').click(function () {
OpenWindow('@Url.Action("NewCampEmail", "Camp",new{model = @Model})', 700, 700, true);
});
});
</script>
我的控制器操作NewCampEmail
[HttpGet]
[OutputCache(Location = OutputCacheLocation.None)]
[Authorize]
public ActionResult NewCampEmail(Models.NewCamp model)
{
return ReturnModelWithEmailType(model,EmailType.NewCampEmail);
}
在 model 我得到空值。为什么我得到空值?我的代码有什么变化吗?我的模型在 NewCamp.chstml 中是相同的,即 Models.Newcamp
【问题讨论】:
-
传递给控制器的模型是否与从控制器传递给视图的模型相同?如果您只将模型从视图传递到控制器,而之前没有将模型从控制器传递到视图,那么您正在破坏 MVC 模式,因为它的行为是通过将模型从控制器传递到视图而不是将模型从视图传递到控制器。
-
@jobert 谢谢你的回复。我已经通过相同的模型来查看
-
如果你想将一些数组或一些集合作为参数传递给控制器,请改用 Json
标签: javascript asp.net-mvc-3 razor