![](/img/trans.png)
[英]How to pass values from view to controller using jquery function in asp.net mvc3
[英]MVC3 Pass Model view to controller using javascript
我正在嘗試使用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);
}
在模型中,我得到空值。 為什么我得到空值? 我的代碼有沒有變化? 我的模型在NewCamp.chstml中是相同的,即Models.Newcamp
您不能以這種方式通過javascript傳遞@Model。 該模型僅存在於服務器端,並且在HTTP響應發回之前用於頁面創建。 您當然可以從模型中獲取“值”,並將其作為競爭對象發送到控制器,但是無法以這種方式引用實際的模型本身。
如果您要引用單個Model
而不是頁面上的屬性等,那么最好的選擇是看ockoutjs (無論如何都很好)。
簡而言之,頁面呈現后,@ Model消失了,只能通過頁面屬性或由@Model填充的javascript對象進行引用...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.