MVC3.0----整理之一

1.ViewBag对象是动态解析对象

@{
     ViewBag.Title = "Insert";
 }

不仅可以把单个的对象绑定到 ViewBag上,还可以直接绑定List

ViewBag.Category = db.Category.ToList(); 下面直接生成一个select

 <select name="search-sort" id="sel_category">
        <option value="">--请选择--</option>
        @foreach (var item in ViewBag.Category)
        {
            <option value="@item.Cid">@item.CategoryName</option>
        }
     </select>

2.画面实体类对象传递

@model BlogMVC.Models.DataInfo

使用方式 @Model.Title,其中 Title 是 DataInfo类的字段

3.画面直接输出html源代码

@(new HtmlString(Server.UrlDecode(Model.Content)))

4.jquery的使用 之 单个值传递

string json = "{\"b\": \"" + result + "\"}"; return json;

画面上调用:

 $.ajax({
            type: "POST",
            url: "/AjaxAction/InsertBlog",
            data: { title: title, tag: tag, category: category, mcontent: mcontent },
            dataType: "text",
            async: true,
            beforeSend: function () {
                //alert("beforeSend");
            },
            success: function (d) {
                // alert("succeed");
                var jsons = eval("(" + d + ")");
                if (jsons.b > 0) {
                    alert("提交成功");
                } else {
                    alert("提交失败");
                }
            }
        });

5.jquery的使用 之 datatable 数据集画面展示

      public string SearchAction(string keywords,int pageIndex=1)
        {

            string json = "";

            SqlParameter[]parms = new SqlParameter[]{

                new SqlParameter("@keywords",keywords),
                new SqlParameter("@pageIndex",pageIndex),
                new SqlParameter("@pageSize",10)
            };

          DataTable dt =  SqlHelper.GetTable("usp_getDataManager", parms);

          Dictionary<string, object> dict = new Dictionary<string, object>();

          if (dt!=null&&dt.Rows.Count > 0)
          {
              int count = (int)SqlHelper.ExecuteScalar("usp_getDataCountManager", new SqlParameter[] { new SqlParameter("@keywords", keywords) });

              string jsonData = JsonConvert.SerializeObject(dt);
              dict.Add("jsonData", jsonData);
              dict.Add("dataCount", count);
              json = JsonConvert.SerializeObject(dict);
          }
          else
          {
              string jsonData = JsonConvert.SerializeObject(dt);
              dict.Add("jsonData", "");
              dict.Add("dataCount", -1);
              json = JsonConvert.SerializeObject(dict);
          }

            return json;
        }

画面上的调用:

function ajaxQueryFunc(keywords, pageindex) {
        $.ajax({
            type: "post",
            data: { keywords: keywords, pageindex: pageindex, type: "sc" },
            url: "/AjaxAction/Search",
            dataType: "text",
            beforeSend: function () {
                //从tr 第2行到末尾的都要删除
                var headr = $("#tab_data tr").first();
                $("#tab_data").children().remove();
                $("#tab_data").append(headr);
            },
            success: function (d) {

                var jsons = eval("(" + d + ")");
                var dataCount = jsons["dataCount"];
                if (dataCount > 0) {
                    showPagingDiv(dataCount, pageindex);
                    var jsonData = jsons["jsonData"];
                    var data = eval(jsonData);
                    var strTr = "";
                    for (cc in data) {
                        if (typeof (data[cc]) == ‘object‘) {
                            strTr = strTr + "<tr> ";
                            strTr = strTr + "<td class=‘tc‘><input name=‘ck_dataid‘ value=‘" + data[cc][‘DataId‘] + "‘ type=‘checkbox‘></td>";
                            strTr = strTr + "<td class=‘tc‘><input class=‘common-input sort-input‘ name=‘ord[]‘ value=‘" + data[cc][‘Sequence‘] + "‘ type=‘text‘></td>";
                            strTr = strTr + "<td>" + data[cc][‘DataId‘] + "</td>";

                            strTr = strTr + "<td><a target=‘_blank‘ href=‘/Blog/Detail/" + data[cc][‘DataId‘] + "‘ title=‘" + data[cc][‘Title‘] + "‘>" + data[cc][‘Title‘] + "</a></td>";

                            strTr = strTr + "<td>" + data[cc][‘Click‘] + "</td>";
                            strTr = strTr + "<td>" + data[cc][‘Author‘] + "</td>";

                            strTr = strTr + "<td>" + "2014-03-15 21:11:01" + "</td>";
                            strTr = strTr + "<td>" + data[cc][‘Tags‘] + "</td>";
                            strTr = strTr + "<td><span class=‘sp_link‘ onclick=\"sp_link_edit_click(this);\" >修改排名</span> &nbsp;  <span class=‘sp_link‘  onclick=\"sp_link_delete_click(this);\" >删除</span> &nbsp; <div class=‘div_mess‘></div></td>";
                            strTr = strTr + "</tr> ";
                        }
                    }
                    $("#tab_data").append(strTr);

                }
                else {
                    alert("没有检索导数据");
                }
            }
        });

    }
时间: 2025-01-07 00:56:37

MVC3.0----整理之一的相关文章

Asp.Net MVC3.0网站统计登录认证的在线人数

Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这么个数字也是很了不起的事情.由于之前对于这个知识点只是知道,并没有去了解过,这两天偶然的机会又看到了,于是自己整理了一个简单的版本,也方便让大家来给提提意见. 本文主要通过Application和Session全局来统计在线人数,暂时只统计登录验证过的.实现的大致方案如下: 1.在全局应用程序启动的

分享在MVC3.0中使用jQuery DataTable 插件

前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原因.在项目中我使用jqgrid比较多.但是发现当进行样式调整时jqgrid的样式常常会让美工头疼.而datatable插件却是一个轻量级的jQuery插件.当我通过浏览器查看该js插件rander后的源码.发现只是一个简单的html table,非常简洁.那么在没有特殊要求的情况下使用这个插件,开发

MVC2.0==&gt;MVC3.0

总结出如下4个MVC3.0和2.0的重要区别. 1. @ 符号在 View 页面中的用法: C#代码以 @符号开头,例如 1 <h2>Name: @Model.Name</h2>2 3 以及4 5 @if (Model.Category == "Watersports") { 6 <p>@Model.Category <b>Splash!</b> </p> 7 } 如果你的代码中不是以 html 标记开头,也就是说

asp.net mvc3.0第一个程序helloworld开发图解

步骤一:新建asp.net mvc3.0项目 (选择Razor模板) 步骤二:创建控制器 步骤三:控制器源码内右键创建对应视图 步骤四:控制器内添加代码 步骤五:视图页面输出内容 步骤六:F5调试

Asp.Net MVC3.0中防止跨站的POST

在Form中添加 @Html.AntiForgeryToken(); 在后台的Action中增加 [ValidateAntiForgeryToken] 这个方法还可以添加自定义的参数 @Html.AntiForgeryToken("SaltValue"); 后台的Action中,必需指名Token的值才允许正常提交. [ValidateAntiForgeryToken Salt=("SaltValue")] Asp.Net MVC3.0中防止跨站的POST,布布扣,

MVC3.0部署问题小结

环境:MVC3.0,IIS7 Mvc3.0的部署除像正常部署aspx程序一样外,另外还需要注意的几点:1. 安装MVC3.0 确保服务器上安装了MVC3.0,默认版本是“3.0.20105.0” 2. MVC版本一致性问题(重要) 此类问题会引起一堆譬如CS1705,CS0433类的问题,我就是碰到了这种问题,所以就这个问题详细说明一下: 此问题需要查看你本机开发时用的mvc类库版本与服务器上所安装的mvc类库版本是否一致,即使大版本号都是3.0,而小版本号不一致也会导致此类问题 MVC的版本号

MVC3.0 中Razor 学习

C# 的主要 Razor 语法规则 Razor 代码封装于 @{ ... } 中 行内表达式(变量和函数)以 @ 开头 代码语句以分号结尾 字符串由引号包围 C# 代码对大小写敏感 C# 文件的扩展名是 .cshtml MVC3.0 中Razor 学习 随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指出. 其实在使用<%= %>在html中调用C#代

Log4Net异常日志记录在asp.net mvc3.0的应用

前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual Studio2010(Asp.Net Mvc3.0)中使用log4net快速创建系统日志,如何扩展以输出自定义字段. 用户可以从http://logging.apache.org/log4net/下载log4net的源代码.解压软件包后,在解压的src目录下将log4net.sln载入Visual

vs2013+MVC3.0+EasyUI的ComboBox联动使用(二)

?? vs2013+MVC3.0+EasyUI的ComboBox联动使用(二) 简单介绍:在vs2013(.net4.0)中使用MVC3.0对于EasyUI中ComboBox的联动使用. 载入ComboBox数据,而且实现联动效果, 本文将採用EasyUI中的Date控件与ComboBox实现联动效果,如图: ----------------------------------------------------------------------------------------------

ASP.NET MVC3.0或4.0设置二级域名的方法

之前我就想做二级域名指向同一个IP同一个程序无非是在路由匹配规则上做文章也就是对Url的重写的一种思路.我用了半天时间上网查阅了相关资料并做了Demo测试是完全 以的,在这分享给大家... 假如网站主域名是:www.abc.com 实现二级域名是:     tianjin.abc.com , shanxi.abc.com 这个样子. 首先定义DomainData.DomainRoute类 public class DomainRoute : Route { private Regex domai