我有观点:
<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#Controller:
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 :(得分:0)
@Html.Partial
方法仅用于渲染局部视图。如果需要执行返回视图的控制器操作,则需要使用@Html.Action
方法
<div>
@Html.Action("ImportProviders", "ControllerName", new { ClientId = <>, files = <> })
</div>
答案 1 :(得分:0)
@Html.Partial
在服务器上呈现部分视图,作为主视图的一部分,返回给浏览器。如果在用户在浏览器中执行某些操作时需要动态,那么您可能希望GET / POST到控制器操作以呈现新视图 - 或者您将要调用控制器操作以使用ajax呈现部分视图。 / p>