iT邦幫忙

1

入門MVC問題請教

mvc
  • 分享至 

  • xImage

您好:
參考 https://www.cnblogs.com/hsiang/p/15614049.html
快速入門MVC
其中
View层传递到Controller层,可以通过以下几种方式:
我將 ActionResult SaveStudent() 與 ActionResult SaveStudent2()放到StusntController.cs

1.這樣應該對吧?

using Microsoft.AspNetCore.Mvc;
using t01.Models;

namespace t01.Controllers
{
    public class StudentController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public ActionResult SaveStudent()
        {
            //string xx = Request.QueryString["Name"];
            int id = Convert.ToInt32( Request.Form["id"] ) ;
            string Name =  Request.Form["Name"].ToString();
            int Age = Convert.ToInt32(Request.Form["Age"]);

            /*
            int id = Convert.ToInt32(Request.Params["id"]);
            string Name = Request.Params["Name"].ToString();
            int Age = Convert.ToInt32(Request.Params["Age"]);
            */
            //Console.WriteLine(string.Format("id = {0},Name = {1},Age = {2}",id,Name,Age));
            return View("Index");
        }

         public ActionResult SaveStudent2(Student student)
        {
           int id = student.id;
           string Name = student.Name;
           int Age = student.Age;
           return View("Index");
        }


}
}

2.接下來,是否在Student/index.cshtml設定action?

3.那ˋ要如何將 後面的資料,抓出來秀在 View 上?
謝謝!

看更多先前的討論...收起先前的討論...
deh iT邦研究生 1 級 ‧ 2022-02-02 15:55:37 檢舉
該篇使用.Net MVC 5 ,你開的專案應該是.Net 6或其他.Net Core。該篇未於cshtml特別設置action,因為使用submit。
就結論來說建議參考其他入門文章。
deh iT邦研究生 1 級 ‧ 2022-02-02 16:02:13 檢舉
另外確認下自己要碰的是.Net 6或是MVC 5,雖然本質上是一樣的,但很多設置不同,如您前篇提到的RouteConfig.cs ,這對一開始入門來說應該會是困擾。若無工作硬性需求建議直接用.Net 6。個人也是從MVC 5 => Core 2.1 => .Net 6的,設置不同外,MS也加了不少新東西。
noway iT邦研究生 3 級 ‧ 2022-02-02 16:10:41 檢舉
您好:1.跟確認一下,MVC5,是FRAMEWORK; Core 2.1 => .Net 6 都是 CORE?
目前先快速了解和操作MVC 5,後續有時間再慢慢研習!
2.就該篇文章,要如何透過Controller的動作將資料回傳給VIEW? 謝謝!
deh iT邦研究生 1 級 ‧ 2022-02-02 16:39:24 檢舉
1.對
2.如下方回答,也就是該篇文章的"通过ViewData将数据从控制层传递到视图层"
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
Samuel
iT邦好手 1 級 ‧ 2022-02-02 16:32:16
最佳解答

可以參考一下之前整理的教學文章系列
.net core 與.net mvc及web api_學習筆記分享_章節大綱
https://coolmandiary.blogspot.com/2021/08/net-core-net-mvc.html

2.是否在Student/index.cshtml設定action?
3.要如何將後面的資料,抓出來秀在 View 上?
=>可以透過ViewModel的MVVM機制 來達到雙向綁定

另外.net core mvc 又額外多出了Tag Helper這套工具
.net framework時期的HTML Helper則是也可在.net core(.net3+)沿用

1.則是選擇一種方式就好
View傳到後端可以透過get,post
而controller到view則可以視為每次從tempdata , viewdata 去從中取出在回填至畫面上
(若有跨action就要用tempdata)

當然不想畫面會閃爍類似webform postback問題
就可以用ajax helper(只有在.net framework時期的mvc才支援!!! .net core移除了)

noway iT邦研究生 3 級 ‧ 2022-02-03 10:29:22 檢舉

您好:謝謝您

我要發表回答

立即登入回答