MVC+EasyUI+三层快讯网站建立(八,详情页面完成)

MVC+EasyUI+三层新闻网站建立(八,详情页面完成)

 详情就是点击详情后弹出一个div,所以需要现在boby里面先建立一个div

<div id="detailDiv">
        <table>
            <tr>
                <td>标题:</td>
                <td><input class="easyui-textbox" style="width:250px;height:32px" id="title"/></td>
            </tr>
            <tr>
                <td>作者:</td>
                <td><input class="easyui-textbox" style="width: 250px; height: 32px" id="author" /></td>
            </tr>
            <tr>
                <td>发布日期:</td>
                <td><input class="easyui-textbox" style="width: 250px; height: 32px" id="subDateTime" /></td>
            </tr>
            <tr>
                <td>内容:</td>
                <td><input class="easyui-textbox" data-options="multiline:true" style="width: 400px; height: 250px" id="Msg" /></td>
            </tr>
        </table>
    </div>

这个div是需要隐藏的,当点击详情再弹出来。(隐藏语句需要放在页面加载的函数中)

//设置详细框为不可见
            $("#detailDiv").css("display", "none");

在上一篇的datagrid里面我给详情的超链接添加了一个   onclick="showDetail('+row.Id+')"  事件    row.Id就是拿到点击的新闻Id

现在就需要完善这个方法

 //显示新闻详情
        function showDetail(index) {
            //弹出div
            $("#detailDiv").css("display", "block");
            $.post("/NewInfo/ShowModelById", { id: index }, function (data) {
                
                $("#title").textbox("setValue", data.Title);
                $("#author").textbox("setValue", data.Author);
                $("#subDateTime").textbox("setValue", ChangeDateFormat(data.SubDateTime));
                $("#Msg").textbox("setValue", data.Msg);
            });
            //弹出dialog
            $("#detailDiv").dialog({
                title: "新闻详情",
                modal: true,
                width: 500,
                height: 500,
               
            });
        }

同样的这里要根据Id查询新闻信息

在DAL层的NewInfoDal中

 /// <summary>
        /// 根据id查询出记录
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public NewInfo GetEntityModel(int id)
        {
            string sql = "select * from T_News  where Id=@Id";
            DataTable da = SqlHelper.ExcuteDataTable(sql, CommandType.Text, new SqlParameter("@Id", id));
            NewInfo newInfo = null;
            if (da.Rows.Count > 0)
            {
                newInfo = new NewInfo();
                LoadEntity(da.Rows[0], newInfo);
            }
            return newInfo;

        }

在BLL层的NewInfoServices中

 /// <summary>
        /// 根据id查询记录
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public NewInfo GetEntityModel(int id)
        {
            return NewInfoDal.GetEntityModel(id);
        }

最后在NewInfo控制器下建立ShowModelById方法

 /// <summary>
        /// 根据id查询记录
        /// </summary>
        /// <returns></returns>
        public ActionResult ShowModelById()
        {
            int id = int.Parse(Request["id"]);
            NewInfo model = NewInfoBll.GetEntityModel(id);
            return Json(model, JsonRequestBehavior.AllowGet);
        }

MVC+EasyUI+三层快讯网站建立(八,详情页面完成)

 

3楼码农改变世界lyf
期待楼的下篇文章,群主可以再说一下怎么防范Xss攻击,和SQL注入,安全性方面的吗?
2楼系统工程
谢谢刘指导!
1楼系统工程
发个Demo 学习一下
Re: 刘指导
@系统工程,我这边还没有写完,所以只有部分代码。
Re: 刘指导
@系统工程,http://pan.baidu.com/s/1i4Vsr57