ASP.MVC模型到JS对象并返回到C#
我试图用javascript操作调用替换服务器端操作调用 我在控制器中有动作ASP.MVC模型到JS对象并返回到C#,c#,asp.net-mvc,C#,Asp.net Mvc,我试图用javascript操作调用替换服务器端操作调用 我在控制器中有动作 public ActionResult MyTest(TestObj obj) { return PartialView("test2"); } 我的行动呼吁现在看起来是这样的: <div id="TestDiv"> @Html.Action("MyTest", "Home", new { obj = Model }) </div> @Action(“MyTest”,“Home”,
public ActionResult MyTest(TestObj obj)
{
return PartialView("test2");
}
我的行动呼吁现在看起来是这样的:
<div id="TestDiv">
@Html.Action("MyTest", "Home", new { obj = Model })
</div>
@Action(“MyTest”,“Home”,新的{obj=Model})
所以我试着用这个js函数替换它
<script>
var jsModel =@Html.Raw(Json.Encode(Model)); @*'@serializer.Serialize(Model)';*@
function newHope() {
var url = '@Url.Action("MyTest", "Home")';
$('#TestDiv').load(url, { obj: jsModel });
}
</script>
var jsModel=@Html.Raw(Json.Encode(Model));@*'@serializer.Serialize(模型)'*@
函数newHope(){
var url='@url.Action(“MyTest”,“Home”);
$('#TestDiv').load(url,{obj:jsModel});
}
但是,当我通过js发送obj时,所有obj属性都有默认值,当它从@Html.Action发送时,一切都正常
你知道为什么biding不使用js模型吗?试着这样做:
<script>
var jsModel =@Html.Raw(Json.Encode(Model)); @*'@serializer.Serialize(Model)';*@
function newHope() {
var url = '@Url.Action("MyTest", "Home")';
$('#TestDiv').load(url, '{ obj: ' +jsModel +'}');
}
</script>
var jsModel=@Html.Raw(Json.Encode(Model));@*'@serializer.Serialize(模型)'*@
函数newHope(){
var url='@url.Action(“MyTest”,“Home”);
$('#TestDiv').load(url'{obj:'+jsModel+'}');
}
您需要对整个负载进行字符串化,以便能够正确地对其进行反序列化。我还没有试过,所以您可能需要稍微调整一下。试着这样做:
<script>
var jsModel =@Html.Raw(Json.Encode(Model)); @*'@serializer.Serialize(Model)';*@
function newHope() {
var url = '@Url.Action("MyTest", "Home")';
$('#TestDiv').load(url, '{ obj: ' +jsModel +'}');
}
</script>
var jsModel=@Html.Raw(Json.Encode(Model));@*'@serializer.Serialize(模型)'*@
函数newHope(){
var url='@url.Action(“MyTest”,“Home”);
$('#TestDiv').load(url'{obj:'+jsModel+'}');
}
您需要对整个负载进行字符串化,以便能够正确地对其进行反序列化。我没有试过,所以您可能需要稍微调整一下。可能您需要将
@Html.Raw(Json.Encode(Model))
像参数一样传递给newHope
试试这个:var jsModel='@Html.Raw(Json.Encode(Model))
可能是您需要将@Html.Raw(Json.Encode(Model))
作为参数传递给newHope
尝试以下操作:var-jsModel='@Html.Raw(Json.Encode(Model))代码>与我的案例中相同的空对象(空不为空)与我的案例中相同的空对象(空不为空)