Re: [問題] 用PHP的方式去寫.net
※ 引述《coldollsheep (加油加油^^)》之銘言:
: 原文吃光 根本標題略為相關 藉此發問
: 我嘗試了一下asp.net mvc架構
: 在controller 到view的部分 暫時學得很粗淺 沒問題
: 但是進行到model的時候
: 線上教學表示需要在model上按右鍵 建立一個類別
: 如果名稱Movie為例
: 會產生一個 movie.cs的檔案
: 我裡面打的東西完全依照範例所打 內容如下
: ---
: using System;
: using System.Collections.Generic;
: using System.Linq;
: using System.Web;
: namespace MvcApplication3.Models
: {
: public class Movie
: {
: public int ID { get; set; }
: public string Title { get; set; }
: public DateTime ReleaseDate { get; set; }
: public string Genre { get; set; }
: public decimal Price { get; set; }
: }
: public class MovieDBContext : DbContext
: {
: public DbSet<Movie> Movies { get; set; }
: }
: }
: ---
: 之後 進Web.config
: 把這一段
: ---
: <connectionStrings>
: <add name="ApplicationServices"
: connectionString="data source=.\SQLEXPRESS;Integrated
: Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
: providerName="System.Data.SqlClient" />
: </connectionStrings>
: ---
: 改成這樣
: ---
: <connectionStrings>
: <add name="MovieDBContext"
: connectionString="Data Source=|DataDirectory|Movies.sdf"
: providerName="System.Data.SqlServerCe.4.0"/>
: <add name="ApplicationServices"
: connectionString="data source=.\SQLEXPRESS;Integrated
: Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
: providerName="System.Data.SqlClient" />
: </connectionStrings>
: 最後教學指示 需再建立一個controller
: 建置如下
: ---
: Controller name: MoviesController. (This is the default. )
: Template: Controller with read/write actions and views, using Entity
: Framework.
: Model class: Movie (MvcMovie.Models).
: Data context class: MovieDBContext (MvcMovie.Models).
: Views: Razor (CSHTML). (The default.)
: ---
: 但是我卻發現 我的Model class的下拉選單 並沒有 Movie這個類別 但是我明明建好了
: 很奇怪...
難得看到有人討論MVC (淚目
我是建議反正都使用MVC了 不如直接連資料庫吧
就可以不用自己建Model了
如果嫌連資料庫麻煩的話 我這說說我的做法
我會直接建一個Controller 然後把ViewModel寫在Controller裡面
Controller部分
namespace 專案名稱.Controllers
{
//把ViewModel建在這比較好改
public class MovieViewModel
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
public class MovieController : BaseController
{
//建立一個內容為空的viewModel
MovieViewModel viewModel = new MovieViewModel();
//資料處理, 隨便塞個值進去當範例
viewModel.ID = 1;
viewModel.Title = "隨便你打的標題文字";
viewModel.DateTime = Datetime.Now; //時間是現在
viewModel.Genre = "C#";
viewModel.Price = 0; //免學費
return View(ViewModel); //把資料丟到view啦
}
}
View部分 因為會扯到MastrtPage 預設配置可能會有不同 我盡量寫的好懂點
首先 最上面的
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Index.Master"
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
%>
改成
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Index.Master"
Inherits="System.Web.Mvc.ViewPage<專案名稱.Controllers.MovieViewModel>"
%>
這樣就可以抓到Model了 用強型別繼承
然後隨便找個地方 打上 <%=Model.ID %> 就會顯示1 其他的依此類推
我是大約一年前開始學寫程式 去年的時候我還抱著MVC1.0的PDF大陸翻譯版在燃燒
上面漏掉很多的部分....
後來公司有CASE 我就改學php + asp
然後又被抓去寫.NET Window Form 寫市政府商業登記資料庫轉中央資料庫
在後面在重回.NET MVC寫外交部
每一種都有碰一些 但是待專案公司 實做的機會真的非常多
所以學的還算ok啦
我學的PHP也是盡量用MVC概念去分
個人覺得PHP轉.NET MVC非常適合阿~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.43.102
推
11/17 11:57, , 1F
11/17 11:57, 1F
→
11/17 11:57, , 2F
11/17 11:57, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章