ASP.NET MVC Layout如何嵌套_实用技巧

直接上代码:

模板页Layout.cshtml代码(路径"~/Views/Backstage/MachineMng/Layout.cshtml"):

@{
  ViewBag.Title = "货机管理";
}

<!DOCTYPE html>
<html>
<head>
  <title>@ViewBag.Title</title>
  <style type="text/css">
    body
    {
      font-size: 12px;
      padding: 0;
      margin: 0;
      background-color: #666;
    }

    .ul-menu
    {
      float: left;
      margin: 0;
      padding: 0;
      margin-left: 3px;
    }

      .ul-menu li
      {
        float: left;
        list-style: none;
        margin: 0;
        padding: 0;
        width: 45px;
        height: 25px;
        line-height: 25px;
        text-align: center;
        margin-right: 20px;
        border: solid 1px #999;
        cursor: pointer;
      }
  </style>
  <script type="text/javascript" src="~/Scripts/jquery-1.8.2.js"></script>
  <script type="text/javascript">
    function gotourl(url) {
      window.location = url;
    }
  </script>
</head>

<body>
  <div style="width: 960px; margin: auto; background-color: #fff; padding: 7px;">
    <div style="height: 110px; border: solid 1px #999;">
      <div style="float: left; width: 105px; height: 65px; margin: 3px; text-align: center; border: solid 1px #999;">
        <div style="font-size: 16px; margin-top: 12px;">
          IMU
          <br />
          120×90
        </div>
      </div>
      <div style="float: right; padding: 5px; margin-top: 5px;">
        <div style="float: left;">
          欢迎您,<span>XXX</span> 【退出】
        </div>
        <div style="float: left; margin-left: 50px;">
          @{
            string[] weekDays = { "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
          }
          当前时间 @DateTime.Now.ToString("yyyy-MM-dd(" + weekDays[(int)DateTime.Now.DayOfWeek] + ")HH:mm")
        </div>
        <div style="float: left; margin-left: 50px; margin-right: 5px;">
          帮助中心
        </div>
      </div>
      <div style="margin-top: 76px;">
        <ul class="ul-menu">
          <li onclick="gotourl('@Url.Content("~/Backstage/MachineMng/MachineInfo/Index")')">货机</li>
          <li onclick="gotourl('@Url.Content("~/Backstage/MachineMng/StartCargo/Index")')">运营</li>
          <li>交易</li>
          <li>系统</li>
        </ul>
      </div>

    </div>
    @RenderBody()
  </div>
</body>
</html>

模板页RoadSetLayout.cshtml代码:(路径"~/Views/Backstage/MachineMng/RoadSetLayout.cshtml"):

@{
  ViewBag.Title = "货道设置";
  Layout = Url.Content("~/Views/Backstage/MachineMng/Layout.cshtml");
}

<!DOCTYPE html>
<html>
<head>
  <title>@ViewBag.Title</title>
  <style type="text/css">
    .div-button1
    {
      float: left;
      width: 120px;
      height: 35px;
      border: solid 1px #999;
      font-size: 18px;
      line-height: 35px;
      text-align: center;
      cursor: pointer;
    }

    .div-button2
    {
      float: left;
      width: 120px;
      height: 30px;
      border: solid 1px #999;
      font-size: 14px;
      line-height: 30px;
      text-align: center;
      cursor: pointer;
    }

    .div-arrow
    {
      float: left;
      height: 55px;
      padding-top: 5px;
    }

    .div-arrow2
    {
      float: left;
      width: 35px;
      height: 22px;
      padding-top: 6px;
      margin-left: 10px;
    }
  </style>
  <script type="text/javascript" src="~/Scripts/jquery-1.8.2.js"></script>
  <script type="text/javascript" src="~/Scripts/My97DatePicker/WdatePicker.js"></script>
  <script type="text/javascript">
    $(function () {

    });

  </script>
</head>
<body>
  <div style="height: 200px; border: solid 1px #999; border-top: 0;">
    <div style="float: left; width: 200px; height: 150px; border: solid 1px #999; margin: 20px; padding: 5px;">
      <div style="text-align: center; font-size: 18px; line-height: 25px; padding-top: 10px;">
        货机现在运行正常
        <br />
        连续运行3天 72小时
      </div>
      <div style="padding-top: 10px; line-height: 20px;">
        货机数据已经与平台数据同步,无需插数据盘。
        请插入数据盘完成数据同步更新/数据盘已插入,数据传输完成10%
      </div>
    </div>
    <div style="float: right; width: 600px; height: 160px; margin: 20px; margin-right: 50px;">
      <div class="div-button1" style="margin-left: 100px; cursor: default; background-color: #eee;">
        暂停货机
      </div>
      <div onclick="gotourl('@Url.Content("~/Backstage/MachineMng/StartCargo/Index")')" class="div-button1" style="margin-left: 50px;">
        启动货机
      </div>
      <div style="float: left; width: 100%; height: 33px; line-height: 33px; text-align: center;">
        <div style="float: left; margin-left: 100px;">
          货机暂停才可以进行以下操作:以下操作完成须启动货机
        </div>
      </div>
      <div style="float: left; width: 100%; height: 60px; line-height: 60px; text-align: center;">
        <div class="div-arrow" style="margin-left: 150px;">
          <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_down.png")" />
        </div>
        <div class="div-arrow" style="margin-left: 160px;">
          <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_up.png")" />
        </div>
      </div>
      <div class="div-button2" onclick="gotourl('@Url.Content("~/Backstage/MachineMng/RoadSet/Index")')" style="margin-left: 50px;">
        商品货道设置
      </div>
      <div class="div-arrow2" style="">
        <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_right.png")" />
      </div>
      <div class="div-button2" style="margin-left: 5px;">
        现金管理理
      </div>
      <div class="div-arrow2" style="">
        <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_right.png")" />
      </div>
      <div class="div-button2" style="margin-left: 5px;">
        货机运维
      </div>
    </div>
  </div>
  @RenderBody()
</body>
</html>

Index页面代码(路径"~/Views/Backstage/MachineMng/RoadSet/Index.cshtml"):

@{
  ViewBag.Title = "货道设置";
  Layout = Url.Content("~/Views/Backstage/MachineMng/RoadSetLayout.cshtml");
}

<!DOCTYPE html>
<html>
<head>
  <title>@ViewBag.Title</title>
  <link type="text/css" href="~/Scripts/jquery-easyui-1.4.1/themes/default/easyui.css" rel="stylesheet" />
  <style type="text/css">
    body
    {
      font-size: 12px;
    }

    .div-box
    {
      float: left;
      border: solid 1px #f5f5f5;
      height: 148px;
      width: 97px;
      background-color: #f5f5f5;
      cursor: default;
    }

      .div-box div
      {
        float: left;
        margin-top: 15px;
        margin-left: 9px;
        height: 120px;
        width: 80px;
        line-height: 120px;
        font-size: 16px;
        font-family: 黑体;
        text-align: center;
      }

    .ul-instructions
    {
      float: left;
      width: 200px;
      padding: 0;
      margin: 0;
      margin-left: 10px;
      margin-top: 10px;
      margin-bottom: 10px;
    }

      .ul-instructions li
      {
        float: left;
        list-style: none;
        width: 200px;
        line-height: 25px;
        font-size: 12px;
        margin: 0;
        padding: 3px;
      }

        .ul-instructions li div
        {
          float: left;
        }

    .div-road
    {
      float: left;
      height: 130px;
      width: 100px;
      margin-left: 20px;
      margin-top: 20px;
    }

    .table-road
    {
      background-color: #ffff00;
      border: solid 1px #999;
    }

    .div-highlight
    {
      border: solid 1px #6dbde4 !important;
      background-color: #dceaf2 !important;
    }

    .img-btn
    {
      cursor: pointer;
      margin: 3px;
    }

    .img-btn2
    {
      cursor: pointer;
      margin-left: 10px;
    }

    .table-addroads
    {
      width: 100%;
    }

      .table-addroads tr td:first-child
      {
        text-align: right;
      }

      .table-addroads tr td
      {
        height: 30px;
        padding: 3px;
      }

    .input-green
    {
      background-color: green;
    }
  </style>
  <script type="text/javascript" src="~/Scripts/jquery-1.8.2.js"></script>
  <script type="text/javascript" src="~/Scripts/My97DatePicker/WdatePicker.js"></script>
  <script type="text/javascript" src="~/Scripts/jquery-easyui-1.4.1/jquery.easyui.min.js"></script>
  <script type="text/javascript" src="~/Scripts/SimpoWindow.js"></script>
  <script type="text/javascript">
    $(function () {
      $("#tdboxs").load("Boxs?cargoCode=" + '@ViewBag.cargoCode' + "&t=" + new Date().valueOf(), function (data) {
        $(".div-box:first").click();
      });
    });

    //显示货柜的货道
    function showBox(obj, boxId) {
      $(".div-box").removeClass("div-highlight");
      $(obj).addClass("div-highlight");

      $("#divfloors").load("Floors?boxId=" + boxId + "&t=" + new Date().valueOf());
    }

    //添加货柜
    function addbox(addType) {
      if (confirm("确定添加?")) {
        var cargoCode = '@ViewBag.cargoCode';
        var floorType = $("input[name='floorType']:checked").val();
        $.ajax({
          type: "POST",
          url: "@Url.Content("~/Backstage/MachineMng/RoadSet/AddBox")",
          data: { "addType": addType, "cargoCode": cargoCode, "floorType": floorType },
          success: function (d) {
            var data = eval("(" + d + ")");
            if (data.ok) {
              $("#tdboxs").load("Boxs?cargoCode=" + cargoCode + "&t=" + new Date().valueOf(), function (data) {
                if (addType == 1) {
                  $(".div-box:first").click();
                } else {
                  $(".div-box:last").click();
                }
              });
            } else {
              alert("添加失败:" + data.msg);
            }
          },
          error: function () {
            alert("添加失败");
          }
        });
      }
    }

    //删除货柜
    function delbox(addType) {
      if (confirm("确定删除?")) {
        var cargoCode = '@ViewBag.cargoCode';
        $.ajax({
          type: "POST",
          url: "@Url.Content("~/Backstage/MachineMng/RoadSet/DelBox")",
          data: { "addType": addType, "cargoCode": cargoCode },
          success: function (data) {
            if (data == "ok") {
              if (addType == 1) {
                $(".div-box:first").remove();
              }
              else {
                $(".div-box:last").remove();
              }
              $(".div-box:first").click();
            }
            else {
              alert("删除失败" + data);
            }
          },
          error: function () {
            alert("删除失败");
          }
        });
      }
    }

    //添加货道
    function addroad(obj, boxId, floor) {
      $.ajax({
        type: "POST",
        url: "@Url.Content("~/Backstage/MachineMng/RoadSet/AddRoad")",
        data: { "boxId": boxId, "floor": floor },
        success: function (d) {
          var data = eval("(" + d + ")");

          if (data.ok) {
            var td = $(obj).parent().parent().parent().parent().find("td:first");
            td.find("#divroads_" + floor).load("Roads?boxId=" + boxId + "&floor=" + floor + "&t=" + new Date().valueOf());

            var roadNum = parseInt(td.find(".span-roadNum").text(), 10);
            td.find(".span-roadNum").html((roadNum + 1).toString());
          } else {
            alert("添加失败:" + data.msg);
          }
        },
        error: function () {
          alert("添加失败");
        }
      });
    }

    //删除货道
    function delroad(obj, boxId, floor) {
      if (confirm("确定删除?")) {
        $.ajax({
          type: "POST",
          url: "@Url.Content("~/Backstage/MachineMng/RoadSet/DelRoad")",
          data: { "boxId": boxId, "floor": floor },
          success: function (data) {
            if (data == "ok") {
              var td = $(obj).parent().parent().parent().parent().find("td:first");
              td.find(".div-road:last").remove();

              var roadNum = parseInt(td.find(".span-roadNum").text(), 10);
              if (roadNum > 0) {
                td.find(".span-roadNum").html((roadNum - 1).toString());
              }
            }
            else {
              alert("删除失败" + data);
            }
          },
          error: function () {
            alert("删除失败");
          }
        });
      }
    }

    //添加货道层
    function addfloor(obj, boxId) {
      $.ajax({
        type: "POST",
        url: "@Url.Content("~/Backstage/MachineMng/RoadSet/AddFloor")",
        data: { "boxId": boxId },
        success: function (d) {
          var data = eval("(" + d + ")");

          if (data.ok) {
            $("#divfloors").load("Floors?boxId=" + boxId + "&t=" + new Date().valueOf());

            var div = $(obj).parent().parent();
            var floorNum = parseInt(div.find(".span-floorNum").text(), 10);
            div.find(".span-floorNum").html((floorNum + 1).toString());
          } else {
            alert("添加失败:" + data.msg);
          }
        },
        error: function () {
          alert("添加失败");
        }
      });
    }

    //删除货道层
    function delfloor(obj, boxId) {
      var div = $(obj).parent().parent().parent();
      if (div.find(".table-floor").length < 2) return;

      if (confirm("确定删除?")) {
        $.ajax({
          type: "POST",
          url: "@Url.Content("~/Backstage/MachineMng/RoadSet/DelFloor")",
          data: { "boxId": boxId },
          success: function (d) {
            var data = eval("(" + d + ")");

            if (data.ok) {
              div.find(".table-floor:last").remove();

              var floorNum = parseInt(div.find(".span-floorNum").text(), 10);
              div.find(".span-floorNum").html((floorNum - 1).toString());
            } else {
              alert("删除失败:" + data.msg);
            }
          },
          error: function () {
            alert("删除失败");
          }
        });
      }
    }

    //批量添加货道
    function addroads(obj, boxId, floor) {
      SimpoWin.showWin2("更换货箱", "addroads", 240, 170);

      var windiv = $("#addroads");
      var btnOK = windiv.find("input[type='button']");
      btnOK.bind("click", function () {
        var roadNum = windiv.find("select[name='roadNum']").find("option:selected").val();
        var roadSpec = windiv.find("select[name='roadSpec']").find("option:selected").val();

        $.ajax({
          type: "POST",
          url: "@Url.Content("~/Backstage/MachineMng/RoadSet/AddRoads")",
          data: { "boxId": boxId, "floor": floor, "roadNum": roadNum, "roadSpec": roadSpec },
          success: function (d) {
            var data = eval("(" + d + ")");

            if (data.ok) {
              var td = $(obj).parent().parent();
              td.find("#divroads_" + floor).load("Roads?boxId=" + boxId + "&floor=" + floor + "&t=" + new Date().valueOf());
              td.find(".span-roadNum").html(data.roadNum.toString());
            } else {
              alert("添加失败:" + data.msg);
            }
          },
          error: function () {
            alert("添加失败");
          }
        });

        btnOK.unbind("click");
        SimpoWin.closeWin2("addroads");
      });
    }
  </script>
</head>
<body>
  <div style="height: 30px; line-height: 30px; padding-top: 5px; border-left: solid 1px #999; border-right: solid 1px #999; text-align: center;">
    客户喜好
    <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_longright.png")" />
    商品
    <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_longright.png")" />
    选择货道
    <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_longright.png")" />
    摆放商品
    <img alt="" src="@Url.Content("~/Images/Cargo/roadset_arrow_longright.png")" />
    完成货道商品绑定
  </div>
  <div id="divbox" style="border: solid 1px #999; border-top: 0; border-bottom: none;">
    <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%;">
      <tr>
        <td style="width: 260px;">
          <ul class="ul-instructions">
            <li>
              <div style="height: 25px; width: 25px; background-color: yellow;"></div>
              <div style="height: 25px; margin-left: 10px;">黄色:表示更换货道</div>
            </li>
            <li>
              <div style="height: 25px; width: 25px; background-color: green;"></div>
              <div style="height: 25px; margin-left: 10px;">绿色:表示上货数量</div>
            </li>
            <li>
              <div style="height: 25px; width: 25px; background-color: red;"></div>
              <div style="height: 25px; margin-left: 10px;">红色:表示现有商品数</div>
            </li>
            <li>
              <div style="height: 25px; width: 25px; background-color: gray;"></div>
              <div style="height: 25px; margin-left: 10px;">灰色:表示最大商品数</div>
            </li>
            <li>
              <div style="height: 23px; width: 23px; border: solid 1px #000; text-align: center;">调</div>
              <div style="height: 25px; margin-left: 10px;">调:表示调换本商品</div>
            </li>
            <li>
              <div style="height: 23px; width: 23px; border: solid 1px #000; text-align: center;">换</div>
              <div style="height: 25px; margin-left: 10px;">换:表示更换商品种类</div>
            </li>
          </ul>
        </td>
        <td>
          <div style="float: left;">
            <div style="text-align: center; margin-top: 25px;">
              <img onclick="addbox(1)" alt="" class="img-btn" src="@Url.Content("~/Images/Cargo/roadset_add.png")" />
            </div>
            <div style="margin-top: 50px; text-align: center;">
              <img onclick="delbox(1)" alt="" class="img-btn" src="@Url.Content("~/Images/Cargo/roadset_Del.png")" />
            </div>
          </div>
        </td>
        <!--货柜-->
        <td id="tdboxs"> 
        </td>
        <td>
          <div style="float: left;">
            <div style="text-align: center; margin-top: 25px;">
              <img onclick="addbox(2)" alt="" class="img-btn" src="@Url.Content("~/Images/Cargo/roadset_add.png")" />
            </div>
            <div style="margin-top: 50px; text-align: center;">
              <img onclick="delbox(2)" alt="" class="img-btn" src="@Url.Content("~/Images/Cargo/roadset_Del.png")" />
            </div>
          </div>
        </td>
      </tr>
      <tr>
        <td> </td>
        <td> </td>
        <td style="text-align: right;">
          <input name="floorType" value="1" type="radio" checked="checked" />横箱<input name="floorType" value="0" type="radio" />竖箱</td>
        <td> </td>
      </tr>
    </table>
  </div>
  <!--货道层-->
  <div id="divfloors"></div>
  <!-- 分隔线 -------------------------------------------------------------------------------------->
  <!--更换货箱-->
  <div id="addroads" style="display: none;">
    <div style="padding: 10px;">
      <table class="table-addroads" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
        <tr>
          <td style="width: 80px;">货道数:</td>
          <td>
            <select name="roadNum">
              <option value="4">4货道</option>
              <option value="6">6货道</option>
              <option value="8">8货道</option>
              <option value="10">10货道</option>
            </select>
          </td>
        </tr>
        <tr>
          <td>货道型号:</td>
          <td>
            <select name="roadSpec">
              <option value="C25/80">C25/80</option>
              <option value="C10/50">C10/50</option>
              <option value="C30/85">C30/85</option>
              <option value="C15/75">C15/75</option>
            </select>
          </td>
        </tr>
        <tr>
          <td colspan="2" style="text-align: center;">
            <input type="button" value="确定" />
          </td>
        </tr>
      </table>
    </div>
  </div>
  <!--批量更换货道-->
  <div id="replaceRoadSpec" style="display: none;">
    <div style="padding: 10px;">
      <table class="table-addroads" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
        <tr>
          <td>货道型号:</td>
          <td>
            <select name="roadSpec">
              <option value="C25/80">C25/80</option>
              <option value="C10/50">C10/50</option>
              <option value="C30/85">C30/85</option>
              <option value="C15/75">C15/75</option>
            </select>
          </td>
        </tr>
        <tr>
          <td colspan="2" style="text-align: center;">
            <input type="button" value="确定" />
          </td>
        </tr>
      </table>
    </div>
  </div>
  <!--更换单个货道-->
  <div id="replaceRoadSpecSingle" style="display: none;">
    <div style="padding: 10px;">
      <table class="table-addroads" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
        <tr>
          <td>当前货道:</td>
          <td id="currentRoadSpec"></td>
        </tr>
        <tr>
          <td>货道型号:</td>
          <td>
            <select name="roadSpec">
              <option value="C25/80">C25/80</option>
              <option value="C10/50">C10/50</option>
              <option value="C30/85">C30/85</option>
              <option value="C15/75">C15/75</option>
            </select>
          </td>
        </tr>
        <tr>
          <td colspan="2" style="text-align: center;">
            <input type="button" value="确定" />
          </td>
        </tr>
      </table>
    </div>
  </div>
</body>
</html>

 效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp.net
, mvc
, 嵌套
layout
,以便于您获取更多的相关知识。

时间: 2024-10-05 04:45:14

ASP.NET MVC Layout如何嵌套_实用技巧的相关文章

ASP.NET MVC实现仪表程序_实用技巧

在大多数情况下,我们的Web程序不仅仅需要给用户提供具体数据,在一些情况下,我们还需要给高级的用户或管理者提供数据汇总和分析图表之类的功能. 如果我们不想显示一大堆烦心的数据,希望通过饼图或条形图来直观地显示数据,这是我们可以考虑使用图表控件显示. 在接下来的文章中,我们将向大家介绍数据仪表板程序的实现. 之前有一篇文章关于StackOverflow上的编程趋势,它通过条形和区域图,向我们展示了Stackoverflow上的热门的问题标签. 图1 Stackoverflow的热门标签 通过上图,

asp.net mvc发送邮件实例讲解_实用技巧

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱POP3服务器(端口110)SMTP服务器(端口25)qq.compop.qq.comsmtp.qq.comSMTP服务器需要身份验证. 如果是设置POP3和SMTP的SSL加密方式,则端口如下: POP3服务器(端口995) SMTP服务器(端口465或587). qq邮箱要注意开启下面的服务:qq会给你个授权码,在下面的代码中详细的讲了在哪用这个授权码. 控制器中代码: using System.Net.Mail;//邮件发送需引用

详解ASP.NET MVC的筛选器_实用技巧

在ActionInvoker对Action的执行过程中,除了通过利用ActionDescriptor对Action方法的执行,以及之前进行的Model绑定与验证之外,还具有一个重要的工作,那就是对相关筛选器(Filter)的执行.ASP.NET MVC的筛选器是一种基于AOP(面向方面编程)的设计,我们将一些非业务的逻辑实现在相应的筛选器中,然后以一种横切(Crosscutting)的方式应用到对应的Action方法.当Action方法执行前后,这些筛选器会自动执行.ASP.NET MVC提供了

ASP.NET MVC 微信JS-SDK认证_实用技巧

ASP.NET MVC微信JS-SDK认证,具体内容: 写在前面 前阵子因为有个项目需要做微信自定义分享功能,因而去研究了下微信JS-SDK相关知识. 此文做个简单的记(tu)录(cao)... 开始所有的东西都从文档开始:微信JSSDK说明文档 项目需要用到的是分享接口 不过使用微信JS-SDK之前,需要做JS接口认证. 认证如下: 步骤一:绑定域名 步骤二:引入JS文件 步骤三:通过config接口注入权限验证配置 步骤四:通过ready接口处理成功验证 步骤五:通过error接口处理失败验

剖析ASP.NET MVC的DependencyResolver组件_实用技巧

一.前言 DependencyResolver是MVC中一个重要的组件,从名字可以看出,它负责依赖对象的解析,可以说它是MVC框架内部使用的一个IOC容器.MVC内部很多对象的创建都是通过它完成的,或许我们平时没有直接用到它,但是如果你在使用unity.autofac,或者在看一些开源项目时,总会看到它的身影.接下来就让我们看一下这个组件是如何工作的. 二.通过Controller的激活理解DependencyResolver的工作过程 这里先插一个题外话,经常会有面试问:asp.net 几个核

ASP.NET MVC HtmlHelper如何扩展_实用技巧

一.ASP.NET 扩展方法三要素 (1).静态类 可以从下图看出,InputExtension首先是一个静态类: (2).静态方法 既然是静态类,那么其所有的方法必然都是静态方法,例如:public static MvcHtmlString CheckBox(): (3).this关键字 可以从方法名定义中看出,第一个参数都是this HtmlHelper htmlHelper,代表对HtmlHelper类的扩展: 二.通过 MVC  HtmlHelper扩展 实例简单说明扩展步骤 实例1.扩

ASP.NET MVC 控制器与视图_实用技巧

一.控制器相关 在Controller类中方法访问级别为public的方法,就是行为(Action).如果不希望Controller类中的方法成为Action(可以在地址栏中被访问),有两种实现方式:将方法的访问级别设置为private在方法上添加特性标记[NonAction] 诸如新增\修改等功能模块,我们往往会创建2个名称相同的Action:一个action用于加载新增\修改页面;另一个action用于处理新增\修改页面提交的表单数据.那么如何区分在何时调用哪个action呢? 我们将加载新

一个基于Asp.Net MVC的权限方案_实用技巧

1.数据结构Mad_Popedom为权限表,Control记录控制器名,Action记录动作名.Mad_Role为角色表. 2.权限控制的实现此处使用比较简单AOP方式,用MVC的Filter实现,代码如下 复制代码 代码如下: using System.Collections.Generic; using System.Web.Mvc; using Madnet.Model.MadAdmin; using Madnet.BLL.MadAdmin; namespace Madnet.Contro

Win 2000下ASP.NET开发环境的配置_实用技巧

Win 2000下ASP.NET的配置 Win 2000(包括Professional,Server和Advanced Server)在默认情况下是不支持ASP.NET的.必须对它进行一个环境的配置. 客户端 SQL Server .NET 数据提供程序 Microsoft 数据访问组件 (MDAC) 2.6 或更高版本 对系统管理信息的访问 Windows Management Instrumentation (WMI)(在 Windows 2000操作系统一起安装)COM+ 服务 Windo