如何使用RadioButton渲染View

时间:2017-11-22 08:11:29

标签: asp.net-mvc

我有一个控制器,如下所示。

        public ActionResult Index()
    {
        return View(db.FEE_TYPES.ToList());
    }

默认情况下,它将呈现一个名为Index的视图。但是,我有三个想要渲染的视图

  1. 索引
  2. 索引2
  3. INDEX3
  4. 我希望View上有三个RadioButtons

    1. RadioButton1
    2. RadioButton2
    3. RadioButton3
    4. 单击RadioButton1时,渲染索引。 单击RadioButton2时,渲染Index2 单击RadioButton3时,渲染Index3

      请问我该如何做到这一点?

1 个答案:

答案 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>
  

部分观点

Partial Views

  

<强>输出

enter image description here