자바 스크립트와 아약스로 여러 가지 방법을 시도해 보았습니다. 당신이부분보기에서 팝업을 열고 부모 부분보기를 새로 고침
전에이 상황이 발생하면 도와주세요 내가보기 hfnlp.cshtml
@model IMONLP.Models.HFADMwrap
@using ADM
@{
ViewBag.Title = "HFNLP";
}
<html>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<body>
**<div id="popup">
@if (true)
{
Html.RenderPartial("popup", Model);
}
</div>**
<div id="Quadrant">
@if (@Model.flag == 1)
{
Html.RenderPartial("grid", Model);
}
</div>
</body>
</html>
내가 위에서 볼 부분이다이 popup.cshtml이에게 있습니다. 사용자로부터 콘텐츠를 열고 가져 오는 팝업이있을 것입니다. 이 작업을 수행해야합니다. 1. 콘텐츠를 얻고 모델 에 글을 쓰십시오 2. 팝업을 닫으십시오 3. 부모에게 제어권을 다시 가져오고 부모는 다시로드하지 말아야합니다. popup.cshtml (부분 뷰) - [parent of winodw 다시로드하십시오. 여기
는 버튼을 popup.cshtml
@model IMONLP.Models.HFADMwrap
@{
ViewBag.Title = "popup";
}
<html>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script type="text/javascript">
//pop up window
$(function() {
$('#ClickMe').click(function() {
window.open('@Url.Action("FileUpload", "HFNLP")', 'FileUpload', 'height=' + (window.screen.height - 100) + ',width=700,left=' + (window.screen.width - 250) + ',top=10,status=no,toolbar=no,resizable=yes,scrollbars=yes');
});
});
</script>
<body>
<input type="button" id="ClickMe" name="ClickMe" value="New Visit"/>
</body>
</html>
을 클릭하면 팝업
마지막으로를 열어야합니다 버튼
를 클릭 할 때라는 팝업 창 이잖아입니다 fileupload.cshtml입니다@model IMONLP.Models.HFADMwrap
@using ADM
@{
ViewBag.Title = "FileUpload";
}
<html>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('#ClickMe').click(function() {
//window.opener.location.href = '@Url.Action("AfterUpload", "HFNLP", new { [email protected]})';*@
window.opener.location.href = window.opener.location.href;
window.close();
});
});
</script>
<body>
<br />
@using (Html.BeginForm("AfterUpload", "HFNLP"))
{
<input type="button" value="submit & View Codes" style="position: absolute; left: auto; width: auto;" id="ClickMe" name = "ClickMe"/>
@*<input type="hidden" name="a" value="@Model.Hfnlp.unstructured_text"/>*@
@if (!string.IsNullOrEmpty(Model.Hfnlp.unstructured_text))
{
@Html.TextAreaFor(m => m.Hfnlp.unstructured_text, new { name= "textBox1", @value = Model.Hfnlp.unstructured_text, style = "width: 650px; height: 400px;"})
}
else
{
@Html.TextAreaFor(m => m.Hfnlp.unstructured_text, new { style = "width: 650px; height: 400px;" })
}
}
@using (Html.BeginForm("FileUploadw", "hfNLP", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" id="file" /><br />
<input type="submit" value="Upload" name="submit" />
}
</body>
</html>
이 코드를 사용하면 팝업 창을 표시하고 액션을 호출 할 수 있습니다. 컨트롤러 및 닫기 팝업. 그런 다음 전체 상위 페이지가 다시로드됩니다. 모델에 전달 된 데이터가 손실됩니다. 이 상황에서 저를 도우십시오.
** ** * * ** * **EDIT* ** * ** * ** * *
public ActionResult FileUpload(HFADMwrap wrap)
{
HFNLP hf = new HFNLP();
wrap.Hfnlp = hf;
return View("FileUpload", wrap);
}
public ActionResult FileUploadw(HFADMwrap wrap, HttpPostedFileBase file)
{
HFNLP hf = new HFNLP();
if (wrap.Hfnlp == null)
{
wrap.Hfnlp = hf;
}
file = Request.Files[0];
BinaryReader b = new BinaryReader(file.InputStream);
byte[] binData = b.ReadBytes(file.InputStream.Length.ToInt32());
string filecontent = System.Text.Encoding.UTF8.GetString(binData);
hf.unstructured_text = filecontent;
/*upload and get the file content */
if (wrap.Hfnlp.unstructured_text == null)
{
return RedirectToActionPermanent("FileUpload", "FileUpload");
}
wrap.Hfnlp = hf;
return PartialView("FileUpload", wrap);
}
나는이 지금
<div id="popup">
<input type="button" value="something" onClick="?(What should be here)"/></div>
우선 RenderPartial은 단순히 부모보기 내에서 면도기 뷰를 렌더링하므로 실제로는 * html * 및 * body * - 태그를 건너 뜁니다. - 또한, 나는 당신이 팝업으로 무엇을 의미하는지 확실히 모르겠다. 당신은 (http://jqueryui.com/dialog/)와 같은 대화 상자를 만들고 싶습니까? – peter