2017-09-05 48 views
0

我的觀點:如何從我的控制器返回部分視圖以顯示在我的主視圖上?

<div> 
    <form method="post"action='@Url.Action("ImportProviders")'> 
     @(Html.Kendo().Upload() 
      .Name("files") 
      .HtmlAttributes(new { aria_label = "files" }) 
      .Validation(validation => validation.AllowedExtensions(new string[] { ".csv" })) 
     ) 
     <p class ="text"> This File Browser only Accepts .CSV File.</p> 
     <input type="hidden" id="clientNumber" name="Clientid" value="" /> 
     <p class="submit-btn"> 
      <input type="submit" value="Upload Providers" onclick="submit" id="UploadClick" class="k-button k-primary" /> 
      <i class="fa fa-spinner fa-pulse fa-3x fa-fw" id="makeMeDisappear"></i> 
      <span class="sr-only">Loading...</span> 
     </p> 
    </form> 
</div> 
<br /> 

<div> 
    @Html.Partial("ImportedProviderView"); 
</div> 

我有C#控制器:

public PartialViewResult ImportProviders(String ClientId, IEnumerable<HttpPostedFileBase> files) { 
    ... 
    ImportProvidersView(result,FaultyRowsTable,"FAULTY ROW"); 
    ImportProvidersView(result, InsertedRows, "INSERTED ROW"); 
    ImportProvidersView(result, UpdatedRowsTable, "UPDATED ROW"); 

    return PartialView("ImportedProviderView", result.OrderByDescending(x=>x.Createdon)); 
} 

但每次我運行這個頁面需要我的部分觀點而已,它並沒有將其注入以上主視圖。

主要問題 如何在上面的主視圖中顯示?

+0

你需要爲此使用ajax。 – ADyson

回答

0

@Html.Partial方法只會渲染局部視圖。如果您需要執行返回,您將需要使用@Html.Action方法

<div> 
    @Html.Action("ImportProviders", "ControllerName", new { ClientId = <>, files = <> }) 
</div> 
0

@Html.Partial呈現在服務器上作爲主視圖,其返回到瀏覽器的一部分的局部視圖的視圖控制器動作。如果用戶在瀏覽器中執行某些操作時需要動態內容,那麼您可能需要GET/POST到控制器操作來渲染新視圖 - 或者您需要調用控制器操作,使用ajax渲染局部視圖。

相關問題