我有一个观点,有一些下拉,可以让你选择一些调查。选中后,将调查加载到iframe中。加载视图到它工作正常,但我试图显示统计(摘要)关于此调查旁边的iframe。但是,由于我将视图返回给iframe,viewbag,viewdata或tempdata不会返回任何东西(想象它对iframe的影响),但我需要它将信息返回到整个视图。不知道如何做到这一点..任何帮助,非常感谢。由于将视图返回给MVC4中的iframe时,viewbag,viewdata或tempdata不会将信息传递回整个视图。
我的观点:
@using (Html.BeginForm("Survey", "Moderator", FormMethod.Post, new { target = modFrame" }))
{
<div id="jWizard" class="jWizard wizardStyle">
<table class="moderatorPage">
<tr>
<td > </td>
<td> </td>
<td> </td>
<td> </td>
<td>Study: @Html.DropDownList("SurveyID", Model.Surveys, new { onchange = "LoadGroups();", @class = "dropDownMain" })</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>Group: @Html.DropDownList("GroupID", Model.UserGroups, new { onchange = "LoadUsers();", @class = "dropDownMain" })</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>User: @Html.DropDownList("UserID", Model.Users, new { @class = "dropDownMain" })</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><input type="submit" value="Start" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><iframe id="modFrame" name="modFrame" style="width:100%; height:1000px; border:0px"></iframe></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>@TempData["test"]</td>
<td>@ViewBag.test</td>
<td>@ViewData["test"]</td>
<td> </td>
<td> </td>
</tr>
</table>
</div>
}
而且在我的控制器:
public ActionResult Survey(int SurveyID, string GroupID, string UserID)
{
ViewBag.UserID = UserID;
if (SurveyID != 0)
{
TempData["test"] = "test1";
ViewData["test"] = "test2";
ViewBag.test = "test3";
var userTypeRepo = new UserTypeRepository(new UnitOfWork());
ViewBag.UserType = userTypeRepo.Get(user.UserTypeID).Description;
var repo = new SurveyRepository(new UnitOfWork());
var survey = repo.Get(SurveyID, "MasterPages,MasterPages.MasterTickets");
return View(survey);
}
else
{
return View("Error", (object)"Survey ID is zero");
}
}
感谢您的快速响应!我一直在这里找到答案,但从来没有发布一个,但哈哈。无论如何,对于我在做什么,我不知道如何使用除iframe之外的其他任何东西。我正在创建一个管理员视图,允许您查看用户或整体回应。我需要能够加载具有玩家功能的任何特定调查(向后,向前,页面跳转)并显示统计数据。我讨厌iframe,但不知道更好的方法。 – Luke