如何在mvc中链接的同一页面中渲染视图

时间:2013-09-14 06:43:48

标签: asp.net-mvc razor

我有两种观点:

  1. 索引
  2. 创建
  3. 每个视图的内容:

    1. 索引

      • '创建'链接
      • 显示数据库中表格的记录。
    2. 创建

      • 创建新记录并保存并返回索引视图。
    3. 当用户点击'Create'链接时,我想在索引视图中显示创建视图。最好的方法是什么?

3 个答案:

答案 0 :(得分:4)

您可以使用jQuery load()函数。您需要将Create View更改为PartalView

然后在你的Index View上你需要这样的东西:

<a href="#" class="Create">Create</a>

<div class="divForCreate"></div>

<script>
$('.Create').click(function() {
  $('.divForCreate').Load('@Url.Action("Create", "Home", new {id = Model.id})')
});
</script>

答案 1 :(得分:1)

您的需求也可以使用$ .ajax()实现,这比简单地使用load()有点复杂,但是当您的数据来自不同的域时可以轻松应用。例如,

<input type="submit" value="create" onclick="create();"/>
<div id="bottom_row"></div>
<script>
function create(){
    //you can get your paramters like this.
    var link_head = $("#link_head").val();
    $.ajax({
        type : "get",
        async:false,
        url : "http://yourIP:port/path to method.action?paramters,
        dataType : "jsonp",
            jsonp: "callbackparam",
            jsonpCallback:"success_jsonpCallback",
            success : function(json){
                 if(json.Status){
                 location.reload();
                 //your further action here
                 }else{
                     alert("Error");
                 }
            },
            error:function(){
                 alert('fail');
            }
     });
}
</script>

答案 2 :(得分:-1)

<创建方法

中的

返回RedirectToAction(“Index”,Model);