Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.MVC模型到JS对象并返回到C#_C#_Asp.net Mvc - Fatal编程技术网

ASP.MVC模型到JS对象并返回到C#

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”,

我试图用javascript操作调用替换服务器端操作调用

我在控制器中有动作

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))与我的案例中相同的空对象(空不为空)与我的案例中相同的空对象(空不为空)