MvC学习总结

来源:互联网 发布:网络列头柜布线 编辑:程序博客网 时间:2024/06/05 20:52

最近公司做项目用的是mvc+linq模式的,我也就有幸接触了MVc这个东西。也对MVC有了个熟悉 。

mvc项目的目录结构如下:

control层

 

这里边control类名称必须和view文件下边的文件夹名称一致。

 用到的Ajax回调的代码

//这个就是下拉选项变化时,图片信息跟着联动。
function HotelNameSelect(thisobj, selobj, selval) {

    $.ajax({ type: "post",
    url: "/EspeciallHotelinfo/ChangeSelect.html/",
        dataType: "json",
        data: { "hotelId": $('#' + thisobj).val() },
        success: function(v_return) {

            if (v_return != null || v_return != "") {
                $('#' + selobj).html(v_return.rtn);
                setTimeout(function() { if (selval != "") $('#' + selobj).val(selval); });
            }
        }
    });

}

前台部分页面代码(EditInfo.aspx)

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/HimsPage.Master" Inherits="System.Web.Mvc.ViewPage<com.ChinaHotel.Hims.DataAccess. Htel_HotelEspeciallyInfo>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
 编辑特价酒店信息
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <script src="../../Scripts/EditEspecialHotelInfo.js" type="text/javascript"></script>
   
   
    <script>
        var inputs = document.getElementsByTagName("input"); ;
        var checks = new Array();
        //获得选择的值
        function getChecks() {
            var j = 0;
            for (var i = 0; i < inputs.length; i++) {
                if (inputs[i].type == "checkbox") {
                    checks[j] = inputs[i]; j++;
                }
            }
        }

        //全选
        function selectAll(obj) {
            getChecks();
            if (obj.checked == false) {
                for (var i = 1; i < checks.length; i++) {
                    if (checks[i].checked == true) checks[i].checked = false;
                }
                document.getElementById("nameList").value = "";
            }
            else if (obj.checked == true) {
                var value = "";
                for (var i = 1; i < checks.length; i++) {
                    value = value + checks[i].value + ",";
                    if (checks[i].checked == false) checks[i].checked = true;
                }
                document.getElementById("nameList").value = value;
            }
        }
        //不是全选
        function selectMe(obj) {
            value = document.getElementById("nameList").value;
            var index = value.indexOf(obj.value);
            if (obj.checked == true && index == -1)
                document.getElementById("nameList").value = value + obj.value + ",";
            else if (obj.checked == false && index != -1) {
                if (document.getElementById("all").checked == true)
                    document.getElementById("all").checked = false;
                value = value.replace(obj.value + ",", "");
                document.getElementById("nameList").value = value;
            }
        }       
</script>
    <div class="list_p_t"><span>编辑特价酒店信息</span></div>
    <div class="limits_div">
    <% using (Html.BeginForm("EditInfo", "EspeciallHotelinfo", FormMethod.Post, new { @onsubmit = " return true;" }))
       {%>      
           <div class="info_add">
         <dl> 
                  <%= Html.HiddenFor(model => model.He_ID) %>
                   <dd><em>酒店名称:</em>   <%=  ViewData["hotelname"]%>   </dd>
                <dd><em>标志性建筑:</em><%= Html.TextBoxFor(model => model.Re_Peripheral , new { @class = "text_input" })%> (填写距离酒店最近的建筑物)</dd>
                <dd><em>酒店地址:</em><%= Html.TextBoxFor(model => model.He_Introduction , new { @class = "text_input" })%></dd>
               <dd><em>选择展示图片编号:</em><input type="text"  id="nameList" name="nameList" /></dd>
               <dd><em> 酒店展示图片集合:</em> 全选 <input type="checkbox" id="all" onclick="selectAll(this)"/></dd>
                <dd><em> </em><%=  ViewData["HotelPhoto"]%></dd>
               
           </dl>
          <ul>
            <li>
          <input name="subbutton" type="submit" value="确 定" id="" class="button_input" onclick ="submit();" />  <input name="returnbutton" type="button" value="返 回" onclick ="window.location='EspeciallhelList.html'" class="button_input" /></li>
          </ul>
              
        </div> 
         <%=  ViewData["jsImagesSelect"]%> 
          
 <% } %>

</asp:Contentt>

mvc实现增删改查后台全部代码
    public class EspeciallHotelinfoController : BaseController
    {
        Htel_EspecialHtelBusiness EspecialHtel = new Htel_EspecialHtelBusiness();
        //特价酒店信息添加页面
        [AcceptVerbs(HttpVerbs.Get)]
        public ActionResult Addinfo()
        {
            Htel_HotelEspeciallyInfoModel model = new Htel_HotelEspeciallyInfoModel();
            long companyid = Convert.ToInt32(SessionBusiness.GetSessionUserCompanyID());//公司编号
            ViewData["CompanyID"] = companyid;
            ViewData["HotelPhoto"] = "";
            return View( model);
        }

        HotelRoomGiftBusiness hotelRommGiftBll = new HotelRoomGiftBusiness();
        [AcceptVerbs(HttpVerbs.Post)]
        //添加特价酒店信息
        public ActionResult Addinfo(Htel_HotelEspeciallyInfoModel model)
        {
            Htel_EspecialHtelBusiness EspecialHtel = new Htel_EspecialHtelBusiness();
            string uid = SessionBusiness.GetSessionUserID().ToString();//用户编号
            string Currentuser = EspecialHtel.GetUserNameByid(Convert.ToInt32(uid)); //查询用户名
            long companyid = Convert.ToInt32(SessionBusiness.GetSessionUserCompanyID());//公司编号
            List<SelectListItem> HotelList = hotelRommGiftBll.HotelList(companyid); //公司编号查询公司酒店列表
            string namelist = Request.Form.Get("nameList");//选择的图片的编号集合
            namelist = namelist != "" ? namelist.Substring(0, namelist.Length - 1) : "";//为namelist设定默认值,并取截取字符串后的值
            model.He_ModifyUser = Currentuser;//修改修改人
            model.He_CreateUser = Currentuser;
            model.He_ImageListshow = namelist;//添加展示图片编号
            if (EspecialHtel.AddEspecialHtelInfo(model))//执行添加的功能
            {
                ViewData["JSAlert"] = "添加成功!";
                ViewData["JSHref"] = "EspeciallhelList.html";//跳转到特价酒店信息列表页面
            }
            else
            {
                ViewData["JSAlert"] = "添加失败!";
                ViewData["JSHref"] = "EspeciallhelList.html";
            }
            return PartialView("WebMsg");
        }
 

        //修改特价房间信息
        [AcceptVerbs(HttpVerbs.Get)]
        public ActionResult EditInfo()
        {
            string id = StringHelper.GetRequest("id");//请求的自动增长编号
            Htel_EspecialHtelBusiness EspecialHtel = new Htel_EspecialHtelBusiness();
            Htel_HotelEspeciallyInfo model = EspecialHtel.GetEspecailHtelInfo(Convert.ToInt64(id));
            HotelInfoBusiness htelbess = new HotelInfoBusiness();
            ViewData["hotelname"] = htelbess.GetHtelNameByID(Convert.ToInt32(model.He_Hotelld));//显示酒店名称
            ViewData["HotelPhoto"] = showimg(Convert.ToInt64(model.He_Hotelld));// 选择酒店所有的展示图片
           //页面加载时判断,自动勾选checkbox
            StringBuilder sb = new StringBuilder();
            sb.Append("<script>");
            string[] sImage = model.He_ImageListshow.Split(',');
            for (int i = 0; i < sImage.Length; i++)
                sb.Append("  $('#" + sImage[i] + "').attr('checked', true);");
            sb.Append("</script>");
            ViewData["jsImagesSelect"] = sb.ToString();
            return View(model);
        }

        //提交修改请求
        [AcceptVerbs(HttpVerbs.Post )]
        public ActionResult EditInfo(Htel_HotelEspeciallyInfoModel model)
        {
           //请求的展示图片编号
            string namelist = Request.Form.Get("nameList");//取的是name属性

            namelist = namelist != "" ? namelist.Substring(0, namelist.Length - 1) : "";
            Htel_EspecialHtelBusiness EspecialHtel = new Htel_EspecialHtelBusiness();
            model.He_ModifyDate = DateTime.Now;
           string uid = SessionBusiness.GetSessionUserID().ToString();//用户编号
            //查询用户名
          string Ceturrentuser = EspecialHtel.GetUserNameByid(Convert.ToInt32(uid));
          model.He_ModifyUser = Ceturrentuser;
          model.He_ImageListshow  = namelist;
          if (EspecialHtel .EditEspecialHtelInfo(model))
          
        {

            ViewData["JSAlert"] = "修改成功!";
            ViewData["JSHref"] = "EspeciallhelList.html";

        }

        else {

            ViewData["JSAlert"] = "修改失败!";
               ViewData["JSHref"] = "EspeciallhelList.html";
        }
            return PartialView("WebMsg");
        }


        //显示图片的方法
        public string showimg(long Hotelld)
        {
            string sb = "";
            StringBuilder sd = new StringBuilder();
            HotelImgBusiness hotelimgbll = new HotelImgBusiness();
            List<Inf_Htel_PhotosModel> b_hotelimglist = hotelimgbll.GetHotelImgList(Hotelld);
            int Count = 0;//行数
            sd.Append("<table >");
            sd.Append("<tr>");
            foreach (Inf_Htel_PhotosModel item in b_hotelimglist)
            {
                Count += 1;

                if (Count % 4 == 0)
                {

                    sd.Append("</tr><tr>");
                }
                else
                {
                    sd.Append("<td>");
                    sb = item.Path + "/m" + item.FileName;//图片路径
                    int imgid = Convert.ToInt32(item.PhotoID);//图片编号
                    sd.Append("<table width='100%' border='1'><tr> <td align='center'><img src='" + sb + "' alt='" + item.NameCN + "' />");
                    sd.Append("</td></tr><tr> <td> <input type='checkbox'   id='" + imgid + "'  value='" + imgid + "' name='" + imgid + "'  onclick=  'selectMe(this)'  /></td>");
                    sd.Append("</tr>");
                    sd.Append(" </table >");
                    sd.Append("</td>");
                }
            }

            sd.Append("</tr></table >");

            return sd.ToString();//图片名称集合
        }


        //显示特价酒店信息列表
        [AcceptVerbs(HttpVerbs.Get)]
        public ActionResult EspeciallhelList(int? page)
        {
            int? userlevel = SessionBusiness.GetSessionUserLevel();//角色
            long? companyid = SessionBusiness.GetSessionUserCompanyID();//公司编号
            int defaultPageSize = 18;
            int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
            ViewData["Buttons"] = GetButtons();
            string admincheck = StringHelper.GetRequest("check");
            if (admincheck != null) SessionManager<string>.AddCookie("admincheck", admincheck);
            ViewData["admincheck"] = SessionManager<string>.GetCookie("admincheck");
            string keyword = ViewData["keyword"] as string;
            ViewData["JS"] = string.Format("<script>$('#check').val({0})</script>", ViewData["admincheck"]);
           // 判断登录用户是否为管理员
            if (userlevel == 999)
            {
                IQueryable<Htel_HotelEspeciallyInfoModel> HtelInteOrperModel = EspecialHtel.GetAllEspecailHtelInfo(null, ViewData["admincheck"] as string);
                return View(HtelInteOrperModel.ToPagedList(currentPageIndex, defaultPageSize));
            }
            else
            {
                IQueryable<Htel_HotelEspeciallyInfoModel> HtelInteOrperModel = EspecialHtel.GetAllEspecailHtelInfo(companyid, ViewData["admincheck"] as string);
                return View(HtelInteOrperModel.ToPagedList(currentPageIndex, defaultPageSize));
            }

        }
          //查询
        public ActionResult  EspeciallhelList(int? page, string keyword)
        {
            int defaultPageSize = 18;
            ViewData["keyword"] = keyword;
            string id = keyword;
            Htel_EspecialHtelBusiness EspecialHtel = new Htel_EspecialHtelBusiness();
            IQueryable<Htel_HotelEspeciallyInfoModel> EspecasihotelModel = EspecialHtel.GetEspecailHtelByid2(id);
            int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
            return View(EspecasihotelModel.ToPagedList(currentPageIndex, defaultPageSize));
        }

     //删除

        [AcceptVerbs(HttpVerbs.Get)]
        public ActionResult EspecialHtelDele()
        {

            Htel_EspecialHtelBusiness EspecialHtel = new Htel_EspecialHtelBusiness();
            string id = StringHelper.GetRequest("id");
            id = StringHelper.RemoveLastLetter(id);
            if (RegularMatch.IsNull(id))
                id = StringHelper.RemoveLastLetter(id);
            if (EspecialHtel .DeleEspecialHtel (id))
            {
                ViewData["JSAlert"] = "删除成功!";
            }
            else
            {
                ViewData["JSAlert"] = "删除失败!";

            }
            ViewData["JSHref"] = "EspeciallhelList.html";
            return PartialView("WebMsg");
        }

        //酒店名称下拉框选项变化时调用的页面
        [AcceptVerbs(HttpVerbs.Post   )]
        public ActionResult ChangeSelect()
        {
            string hotelID = StringHelper.GetRequest("hotelId");//酒店编号
            return Json(new { rtn = showimg(Convert.ToInt64(hotelID)) });
        }

        // 显示功能按钮按钮     
        public string GetButtons()
        {
            StringBuilder buttons = new StringBuilder();
            UserPowerModel upm = SessionBusiness.GetModulePower();
            if (upm.AddFlag == 1) buttons.AppendLine(" <input name=\"add\" value=\"新增\" type=\"button\"  onclick =\"window.location='Addinfo.html'\" class=\"button_input\" />");
            if (upm.EditFlag == 1) buttons.AppendLine("<input  value=\"修改\" type=\"button\" class=\"button_input\" onclick =\"Edit('EditInfo.html')\" />");
            if (upm.DelFlag == 1) buttons.AppendLine("<input  value=\"删除\" type=\"button\" class=\"button_input\" onclick =\"Delete('EspecialHtelDele.html')\" />");    
            return buttons.ToString();
        }

    }
}

 

原创粉丝点击