2015-05-28 155 views
2

在我的MVC應用程序中,我點擊創建按鈕後打開一個彈出窗口,但無法渲染其中的partialview渲染。我想要做的只是彈出對話框中的渲染部分視圖,並將傳遞給它,並將一些參數(即id = 1)傳遞給它。你能告訴我哪裏錯了嗎?提前致謝。無法在模態彈出窗口中顯示部分視圖(Kendo窗口)

注:使用引導模式任何解決方案也將被讚賞...

查看:

@(Html.Kendo().Window() 
    .Name("CreateWindow") 
    .Title("Create Employee") 
    .Visible(false) 
    .Draggable(true) 
    .LoadContentFrom("_Create", "Employee") 
    .Width(800) 
    .Modal(true) 
    .Content("Loading Part List Info...") 
    .Draggable() 
    .Resizable() 
) 


<script type='text/javascript'> 
$(function() { 
    // When your button is clicked 
    $('#createbtn').click(function() { 
     var createWindow = $('#CreateWindow').data('kendoWindow'); 
     createWindow.center().open(); 
    }); 
}); 
</script> 


控制器:

[HttpGet] 
public ActionResult _Create() 
{ 
    var model = repository.Employee; 
    return PartialView(model); 
} 


PartialView:

@model Employee 

<div>MY PARTIAL VIEW CONTENT GOES HERE ...</div> 


+1

我試過你的代碼,它的工作對我罰款。只需在視圖結尾處丟失關閉的''標記。 – Banov

+0

實際上,我的項目中沒有缺失標籤,我也在上面添加了缺失標籤。另一方面,打開對話框,但不顯示partialview中的內容,也無法將模型數據檢索到模態窗口。任何想法? –

+0

因爲它似乎對我而言並不適合你,所以我認爲這個問題一定是在其他地方。爲了防萬一,您是否有一些潛在的來自您的導航器的相關JavaScript錯誤? (從你的例子中,在我的身邊,我可以將模型數據傳遞給PartialView,並將它們很好地顯示在這一個中) – Banov

回答

1

這是我工作的代碼,希望它會幫助你:

查看:

@{ ViewBag.Title = "Test"; } 
@Styles.Render("~/Content/kendoui/css") 

<input type="button" id="createbtn" value="Test kWindow"/> 

@(Html.Kendo().Window() 
    .Name("CreateWindow") 
    .Title("Create Employee") 
    .Visible(false) 
    .Draggable(true) 
    .LoadContentFrom("_Create", "Employee", new { id = 1 }) 
    .Width(800) 
    .Modal(true) 
    .Content("Loading Part List Info...") 
    .Draggable() 
    .Resizable() 
) 

@Scripts.Render("~/bundles/kendoui") 
<script type='text/javascript'> 
$(function() { 
    // When your button is clicked 
    $('#createbtn').click(function() { 
     var createWindow = $('#CreateWindow').data('kendoWindow'); 
     createWindow.center().open(); 
    }); 
}); 
</script> 

PartialView:

@model Banov.Controllers.Employee 
<div>MY PARTIAL VIEW CONTENT GOES HERE ...</div> 
<div>@(Model.Id)</div> 
<div>@(Model.FirstName)</div> 
<div>@(Model.LastName)</div> 

控制器:

using System.Web.Mvc; 
namespace Banov.Controllers 
{ 
    public class EmployeeController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     [HttpGet] 
     public ActionResult _Create(int id) 
     { 
      var model = new Employee 
        { 
         Id = id, 
         FirstName = "John", 
         LastName = "Doe" 
        }; 
      return PartialView(model); 
     } 
    } 

    public class Employee 
    { 
     public int Id { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
    } 
} 
+0

非常感謝您的幫助。實際上,在嘗試發佈代碼之後,它並不適用於第一次嘗試,但是我意識到在進行調試時,代碼會在javascript行上觸發斷點並在禁用它的斷點之後工作(我認爲主要問題是未加載該kendo正確的網格,並導致一些關於JavaScript的問題)。無論如何,我希望這個答案也會對其他人有所幫助。再次感謝。投票+ –

+0

不客氣;) – Banov