我有一个控制器,如下所示。
public ActionResult Index()
{
return View(db.FEE_TYPES.ToList());
}
默认情况下,它将呈现一个名为Index的视图。但是,我有三个想要渲染的视图
我希望View上有三个RadioButtons
单击RadioButton1时,渲染索引。 单击RadioButton2时,渲染Index2 单击RadioButton3时,渲染Index3
请问我该如何做到这一点?
答案 0 :(得分:0)
我已经从您的代码参考中创建了一个演示。
首先,我创建了一个包含3个属性的模型。
<强>模型强>
public class DemoModel
{
public string Radio1 { get; set; }
public string Radio2 { get; set; }
public string Radio3 { get; set; }
}
创建模型后,我在该控制器中创建了一个名为RadioRenderController的Controller,我在该索引中添加了4个Action Method返回Main View。
剩余的3个动作方法[GetView1,GetView2,GetView3]返回部分视图。
<强>控制器强>
using System.Web.Mvc;
using WebApplication6.Models;
namespace WebApplication6.Controllers
{
public class RadioRenderController : Controller
{
// GET: RadioRender
public ActionResult Index()
{
DemoModel DemoModel = new Models.DemoModel();
return View(DemoModel);
}
public ActionResult GetView1()
{
return PartialView("_DemoView1");
}
public ActionResult GetView2()
{
return PartialView("_DemoView2");
}
public ActionResult GetView3()
{
return PartialView("_DemoView3");
}
}
}
查看强>
@model WebApplication6.Models.DemoModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
function GetView1() {
$("#viewPlaceHolder").load("/RadioRender/GetView1");
}
function GetView2() {
$("#viewPlaceHolder").load("/RadioRender/GetView2");
}
function GetView3() {
$("#viewPlaceHolder").load("/RadioRender/GetView3");
}
</script>
</head>
<body>
<div>
@Html.RadioButtonFor(m => m.Radio1, "1", new { @onclick = "GetView1();" }) Radio1
</div>
<div>
@Html.RadioButtonFor(m => m.Radio1, "2", new { @onclick = "GetView2();" }) Radio2
</div>
<div>
@Html.RadioButtonFor(m => m.Radio1, "3", new { @onclick = "GetView3();" }) Radio3
</div>
<div id="viewPlaceHolder"></div>
</body>
</html>
部分观点
<强>输出强>