[英]MVC: How to have a View display from within a div
在我的MVC项目中,我的一个视图中有一个JQuery,它弹出一个对话框,其内容是在标记中定义的
有没有一种方法可以确保的内容是View / PartialView,它是从我的控制器沿以下行填充的:
public ActionResult PopulateDivContent()
{
MyBusinessEntity entity = GetEntity();
return PartialView("SingleRow", MyBusinessEntity);
}
我将如何去做呢?
我有一些jQuery,可将部分视图加载到页面中。 局部视图是用于附加图像的上传表单。
这是js / jQuery:
function addAnImageClick() {
// hide this
$("a#addImage").hide();
// show loading gif
$("img.addAnImageLoadingGif").show();
// invoke ajax get
$.get("/FileManager/GetUploadForm",
{ postUrl: "/Announcements/UploadImageToAnnouncement", modelID: <% =Model.ID %>, multipleFiles: false },
function(data) {
// show upload form
$("div#imageUploader").html(data);
$("div#imageUploader").show();
// hide loading gif
$("img.addAnImageLoadingGif").hide();
});
}
如您所见,我隐藏了用户单击以启动此功能的链接,然后显示UI反馈的加载gif,然后调用对控制器的ajax调用。 我还将一些价值传递给行动。 一旦响应返回,我就使用以下行将内容加载到div中: $("div#imageUploader").html(data);
。 div用css display:none
隐藏,然后我通过删除可见性中的gif来显示并完成。
这是动作:
//
// GET: /FileManager/GetUploadForm/?uploadAction=actionName&modelID=1234&multipleFiles=true
public class GetUploadFormDTO
{
public string PostUrl { get; set; }
public int ModelID { get; set; }
public bool MultipleFiles { get; set; }
}
[KsisAuthorize()]
public ActionResult GetUploadForm(string postUrl, string modelID, string multipleFiles)
{
GetUploadFormDTO model =
new GetUploadFormDTO()
{
PostUrl = postUrl,
ModelID = Convert.ToInt32(modelID),
MultipleFiles = Convert.ToBoolean(multipleFiles)
};
return PartialView("UploadFormPartial", model);
}
希望这可以帮助。 :D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.