Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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
C# 在MVC3中,我有一个包含3个局部视图的视图。如何使第三个局部视图显示在同一页面上?_C#_Jquery_.net_Asp.net Mvc_Kendo Asp.net Mvc - Fatal编程技术网

C# 在MVC3中,我有一个包含3个局部视图的视图。如何使第三个局部视图显示在同一页面上?

C# 在MVC3中,我有一个包含3个局部视图的视图。如何使第三个局部视图显示在同一页面上?,c#,jquery,.net,asp.net-mvc,kendo-asp.net-mvc,C#,Jquery,.net,Asp.net Mvc,Kendo Asp.net Mvc,我有3个局部视图。第一个局部视图有一个下拉列表。您从下拉列表中选择某个内容,然后第二个部分视图将加载到同一页面上它的正下方 然后在我的第二个部分视图中有一个搜索表单(html.BeginForm),当我提交表单时,我想在第二个部分视图下打开第三个部分视图 第三个局部视图有一个采用模型的剑道ui网格 现在的问题是,第三个局部视图在不同的页面上呈现 视图: Html.BeginForm将执行一个完整的页面发布。我相信你想要的是Ajax.BeginForm 例如: @using (Ajax.

我有3个局部视图。第一个局部视图有一个下拉列表。您从下拉列表中选择某个内容,然后第二个部分视图将加载到同一页面上它的正下方

然后在我的第二个部分视图中有一个搜索表单(html.BeginForm),当我提交表单时,我想在第二个部分视图下打开第三个部分视图

第三个局部视图有一个采用模型的剑道ui网格

现在的问题是,第三个局部视图在不同的页面上呈现

视图:


Html.BeginForm将执行一个完整的页面发布。我相信你想要的是Ajax.BeginForm

例如:

    @using (Ajax.BeginForm("TheActionResultYouWantToInvokeThatWillReturnTheThirdView", "YourController", null, new AjaxOptions { UpdateTargetId = "theIdOfTheDivForTheThirdView", OnSuccess = "doFunctionIfYouNeedTo", OnFailure = "ShowPopUpErrorIfYouWant" }))
     {

     }
添加的邮政编码编辑:

此标记无效,这可能是UpdateTargetId找不到Div的原因

<section>
      <div id="searchpanel">
          @html.Partial("_1stPartial")
          <div id="2ndPartialDiv"></div>
          <div id="3rdPartialDiv"></div>
      </div>
 </section>

@html.Partial(“\u 1stPartial”)

请参阅属性上的结束语标记。

Html.BeginForm将执行一篇整版文章。我相信你想要的是Ajax.BeginForm

例如:

    @using (Ajax.BeginForm("TheActionResultYouWantToInvokeThatWillReturnTheThirdView", "YourController", null, new AjaxOptions { UpdateTargetId = "theIdOfTheDivForTheThirdView", OnSuccess = "doFunctionIfYouNeedTo", OnFailure = "ShowPopUpErrorIfYouWant" }))
     {

     }
添加的邮政编码编辑:

此标记无效,这可能是UpdateTargetId找不到Div的原因

<section>
      <div id="searchpanel">
          @html.Partial("_1stPartial")
          <div id="2ndPartialDiv"></div>
          <div id="3rdPartialDiv"></div>
      </div>
 </section>

@html.Partial(“\u 1stPartial”)

请参见属性上的闭幕词标记。

我从您的问题中了解到的是,您正在从第一个
PartialView
提交,如果成功,您将显示第二个。这个也一样。如果成功地从第二个
PartialView
发布了
POST
,则需要显示第三个

为什么不从客户端使用
Ajax

 $.ajax ({
   type:'POST'
   data: {},
   success: function(response){
       $('.specific_div_container_for_previous_partial').hide();
       $('.specific_div_container_for_partial').html(response.Html);
       $('.specific_div_container_for_partial').show();
   },
   error: function(){
       // whatever
   }
 });
在服务器端,您将使用
PartialView
返回呈现的html。要在
变量中呈现
PartialView
,并将其作为json对象发送到客户端,请签出

更新-如何在jquery中序列化表单:


请遵循

我从您那里了解到的问题是,您正在从第一个
部分视图
提交,如果成功,您将显示第二个。这个也一样。如果成功地从第二个
PartialView
发布了
POST
,则需要显示第三个

为什么不从客户端使用
Ajax

 $.ajax ({
   type:'POST'
   data: {},
   success: function(response){
       $('.specific_div_container_for_previous_partial').hide();
       $('.specific_div_container_for_partial').html(response.Html);
       $('.specific_div_container_for_partial').show();
   },
   error: function(){
       // whatever
   }
 });
在服务器端,您将使用
PartialView
返回呈现的html。要在
变量中呈现
PartialView
,并将其作为json对象发送到客户端,请签出

更新-如何在jquery中序列化表单:



请遵循

您所说的“在不同的页面上呈现”是什么意思?您可以在视图中发布代码吗?你是在用AJAX加载第三个视图吗?Justin,它会形成一个完整的页面帖子,并将我的partialview放到一个新页面上。你说的“在另一个页面上呈现”是什么意思?你能在视图中发布代码吗?你是在用AJAX加载第三个视图吗?Justin,它会形成一个完整的页面,并将我的partialview放到一个新页面上。我也一直在尝试AJAX.beginfound。似乎总是在我的控制器中转到我的操作结果,并以相同的方式执行。从控制器返回部分视图琼斯是正确的,赛斯。如果您需要更多帮助,请发布一些代码。我正在从控制器返回部分视图。很抱歉没有发布代码。我们的开发是在一个完全隔离的网络中完成的。我将尝试在这里为您提供一个示例。另一件事可能是您没有在表单的AjaxOptions中指定UpdateTargetId,这也会用部分IIRC替换整个页面。我也一直在尝试Ajax.Begin。似乎总是在我的控制器中转到我的操作结果,并以相同的方式执行。从控制器返回部分视图琼斯是正确的,赛斯。如果您需要更多帮助,请发布一些代码。我正在从控制器返回部分视图。很抱歉没有发布代码。我们的开发是在一个完全隔离的网络中完成的。我将尝试在这里为您提供一个示例。另一件事可能是您没有在表单的AjaxOptions中指定UpdateTargetId,这也会用部分IIRC替换整个页面。我想我也尝试过这个。我会在javascript中有一个表单提交事件吗?如何从这里将模型数据传递到控制器中的操作?我仍然使用Ajax.BeginForm吗?您可以在表单上有一个普通按钮(input type='button')。如果您这样做,那么应该在jquery中创建一个单击处理程序。在该点击处理程序上,您可以在数据变量中发送表单stringized和序列化的JSON.stringify($('form').serialize)。顺便说一句:我已经更新了我的问题,我想我也试过了。我会在javascript中有一个表单提交事件吗?如何从这里将模型数据传递到控制器中的操作?我仍然使用Ajax.BeginForm吗?您可以在表单上有一个普通按钮(input type='button')。如果您这样做,那么应该在jquery中创建一个单击处理程序。在该点击处理程序上,您可以在数据变量中发送表单stringized和序列化的JSON.stringify($('form').serialize)。顺便说一句:我已经更新了我的问题