Mvc参数的传递AD0.NET

<1>

Home控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data;
using MVC.Models;
using System.Data.SqlClient;
using LLSql.DAL;

namespace MVC.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            //查询数据库,将查询出来的数据赋值给UserInfo类的泛型对象 [注:SelectDataToList<UserInfo>()查询的结果就是一个泛型对象]。 然后跳转到Show视图。
            List<UserInfo> userinfo = LLSql.DAL.SqlHelper.SelectDataToList<UserInfo>("select * from T_UserInfo");

            ViewData["UserInfo"] = userinfo;
            return View("Show");
        }

        /// <summary>
        /// 删除功能
        /// </summary>
        /// <param name="id">要删除列的id</param>
        /// <returns></returns>
        public ActionResult Delete(int id) //注意,这个id是 Show视图中 <%:Html.ActionLink("编辑", "Edit", "Home", new { id = item.Id }, new { })%> 这个超链接穿过来的id
        {
            LLSql.DAL.SqlHelper.ExecuteNonQuery("delete from T_UserInfo where id=@id", new SqlParameter("id", id));
            return View("Show");
        }

        /// <summary>
        /// get请求,也就是当用户点击“编辑”的时候查询当前编辑的列的信息。并跳转到Edit视图,进行编辑
        /// </summary>
        /// <param name="id">要编辑列的ID</param>
        /// <returns></returns>
        [HttpGet]
        public ActionResult Edit(int id)//注意,这个id是 Show视图中 <%:Html.ActionLink("编辑", "Edit", "Home", new { id = item.Id }, new { })%> 这个超链接穿过来的id
        {
            UserInfo userinfo = (UserInfo)SqlHelper.SelectDataToList<UserInfo>("select * from T_UserInfo where id=@id", new System.Data.SqlClient.SqlParameter("id", id)).First();

            ViewData.Model = userinfo;

            return View("Edit");
        }

       /// <summary>
       /// Post请求。 即当用户在编辑Edit页编辑完毕后点击"保存"按钮后。将用户编辑后的数据保存到数据库。然后重新在Show视图页 面显示出来
       /// </summary>
       /// <param name="userinfo"></param>
       /// <returns></returns>
        //[HttpPost]
        public ActionResult Edit(UserInfo userinfo) //注意:这个userinfo其实就是Edit页面 进行编辑的UserInfo的属性。编辑完后传过来的
        {
            SqlHelper.ExecuteNonQuery("update T_Userinfo set Name=@name, Age=@age where id=@id",
                new SqlParameter("name", userinfo.Name),
                new SqlParameter("age", userinfo.Age),
                new SqlParameter("id", userinfo.Id));
            return View("Show");
        }

    }
}


UserInfo Model

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVC.Models
{
    public class UserInfo
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public int Age { get; set; }
        
    }
}

Show视图(用来展示数据)

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@ Import Namespace="MVC.Models" %>
<%@ Import Namespace="LLSql.DAL" %>
<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Show</title>
    <script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("a:contains('删除')").click(function () {  return confirm("确定要删除吗") })
        })
    </script>
   
</head>
<body>
    <div>
       <% List<UserInfo> list= SqlHelper.SelectDataToList<UserInfo>("select * from T_UserInfo" ) ;%> 
       <table>
            <tr><th>编码</th><th>姓名</th><th>年龄</th><th>删除</th></tr>
            <% foreach (var item in list)
               { %>
                    <tr><td><%: item.Id%></td><td><%:item.Name %></td><td><%:item.Age %></td><td> <%:Html.ActionLink("删除","Delete", "Home", new { id = item.Id }, new { })%></td>
                    
                    <td> <%:Html.ActionLink("编辑", "Edit", "Home", new { id = item.Id }, new { })%></td></tr>

             <%} %>  
                  

           
       </table>
    </div>
</body>
</html>

Edit 视图 (用来编辑)

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MVC.Models.UserInfo>" %>
<%@ Import Namespace="MVC.Models" %>
<%@ Import Namespace="LLSql.DAL" %>
<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Edit</title>
</head>
<body>
<% using (Html.BeginForm())
   {%>
    <div>
        <table>
            <tr><th>编码</th><td><%:Model.Id%> <%: Html.HiddenFor(u => u.Id)%></td></tr>
            <tr><td>姓名</td><td><%:Html.TextBoxFor(u => u.Name)%> </td></tr>
            <tr><td>年龄</td><td><%: Html.TextBoxFor(u => u.Age)%> </td></tr>
            <tr><td colspan='2'><input type="submit" value="保存"/></td></tr>
        </table>
    </div>
    <%} %>
</body>
</html>


效果



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值