我需要知道如何在主视图中的特定区域显示局部视图,这是我的源代码 主视图:cshtml
<table align="left" border="5px" cellspacing="2px" style="border:2px solid black">
<tr>
<table>
<tr>
<td style="border:2px solid black">
<div style="background-color: #fff; border: 6px solid #ccc; height: 700px; width: 500px; margin: 20px; padding: 20px;" align="center">Select Baseline Image
<input type="button" value="Upload" align="right">
<div style="background-color: #fff; border: 6px solid #ccc; height: 500px; width: 300px; margin: 20px; padding: 20px;" align="center">@Html.Partial("_DisplayImage")</div>
</div>
<form method="POST">
<input id="leftUrlTB" name="URL" type="Text" style="background-color: #fff; border: 6px solid #ccc"/>
<input id="leftBrowser" name="leftBrowser" value="Firefox" type="radio" />Firefox<br>
<input id="leftBrowser" name="leftBrowser" value="Chrome" type="radio" />Chrome<br>
<input id="leftBrowser" name="leftBrowser" value="Internet Explorer" type="radio" />Internet Explorer<br>
<input type="submit" value="Capture" align="right">
</form>
</td>
<td style="border:2px solid black">
<div style="background-color: #fff; border: 6px solid #ccc; height: 700px; width: 500px; margin: 20px; padding: 20px;" align="center">Select Comparison Image
<input type="button" value="Upload" align="right">
<div style="background-color: #fff; border: 6px solid #ccc; height: 500px; width: 300px; margin: 20px; padding: 20px;" align="center"></div></div>
<form method="POST">
<input id="rightUrlTB" name="URL" type="Text" style="background-color: #fff; border: 6px solid #ccc"/>
<input id="rightBrowser" name="leftBrowser" value="Firefox" type="radio" />Firefox<br>
<input id="rightBrowser" name="leftBrowser" value="Chrome" type="radio" />Chrome<br>
<input id="rightBrowser" name="leftBrowser" value="Internet Explorer" type="radio" />Internet Explorer<br>
<input type="submit" value="Capture" align="right">
</form>
</td>
</tr>
</table>
</tr>
<tr>
<td >
<div style="background-color: #fff; border: 6px solid #ccc; height: 700px; width: 1100px; margin: 20px; padding: 20px;" align="center"></div>
</td>
部分视图代码是这一个:
<img src="@Url.Action("WebAppView")" />
我得到了那些控制器:
public ActionResult WebAppView()
{
return View();
}
[HttpPost]
public ActionResult WebAppView(string url, string selectedBrowserRadio)
{
selectedBrowserRadio = Request.Form["leftBrowser"];
selectedBrowserRadio = selectedBrowserRadio.Replace(" ", string.Empty);
var selectedBrowser = (Browser)Enum.Parse(typeof(Browser), selectedBrowserRadio, true);
var bmp= ScreenShotter.TakeScreenShot(selectedBrowser, url);
var converter = new ImageConverter();
var bmpArray = (byte[])converter.ConvertTo(bmp, typeof(byte[]));
return File(bmpArray,"image/png");
}
public ViewResult _DisplayImage()
{
return View("_DisplayImage");
}
我的问题是返回的图像显示在整个视图中,而不是在我指定的div区域中。我需要在左侧div区域渲染它 谢谢
答案 0 :(得分:0)
尝试更改
public ActionResult WebAppView()
{
return View();
}
到
public ActionResult WebAppView()
{
return PartialView();
}
答案 1 :(得分:0)
@ Html.Partial(&#34; _DisplayImage&#34;)应直接调用局部视图,而不是通过控制器。
你的意思是使用@ Html.RenderAction()来调用Action方法吗?如果是这样,你的action方法返回一个视图(&#34; _DisplayImage&#34;)结果,而不是它应该是的PartialView(&#34; _DisplayImage&#34;)。