亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Asp.net中怎么實現一個MVC框架

發布時間:2021-07-15 14:47:09 來源:億速云 閱讀:174 作者:Leah 欄目:編程語言

Asp.net中怎么實現一個MVC框架,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1,用MVC的話就不用ASP.NET的服務器控件,我們新建一個視圖login.aspx,把﹤%%﹥里面的東西都去掉只留﹤%@ Page Language="C#"%﹥

代碼如下:

﹤%@ Page Language="C#"%﹥
﹤!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"﹥
﹤html xmlns="http://www.w3.org/1999/xhtml" ﹥
﹤head runat="server"﹥
﹤title﹥Login﹤/title﹥
﹤/head﹥
﹤body﹥
﹤form id="form1" action="Login.do" method="post"﹥
﹤input id="Text1" type="text" name="name" /﹥﹤br /﹥
﹤input id="Text2" type="text" name="pwd" /﹥
﹤input id="Submit1" type="submit" value="submit" /﹥
﹤/form﹥
﹤/body﹥
﹤/html﹥

2,在WEB.CONFIG里面定義一個新的映射,如下,即所類似XXX.do的請求都會被映射到Control.cs這個類上。這里我們可是以把所有的請求轉到Control類上作進一步轉發。

﹤system.web﹥
﹤httpHandlers﹥
﹤add verb="*" path="*.do" type="Control"/﹥
﹤/httpHandlers﹥

3,實現Control.cs這個類,新建一個Control類,讓他繼承 IHttpHandler接口,這個接口里面有兩一個屬性和一個方法,
bool IsReusable { get; }//如果 System.Web.IHttpHandler 實例可再次使用,則為 true;否則為 false。

void ProcessRequest(HttpContext context);// 啟用 HTTP Web 請求的處理。可以接收到頁面的請求內容,里面主要包括Request,Response,等,方便我們接收參數和頁面轉發。

Control.cs代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Reflection;
/// ﹤summary﹥
/// HTTP 的摘要說明
/// ﹤/summary﹥
public class Control: IHttpHandler
{
public Control()
{
}
public bool IsReusable
{
get
{
return true;
}
}
public void ProcessRequest(HttpContext context)
{
HttpRequest req = context.Request;
string path= req.CurrentExecutionFilePath;
int index = path.LastIndexOf("/");
string path2 = path.Substring(index + 1);
string actionName = actiondo.Substring(0, actiondo.Length - 3);//這里就能得到頁面form信息里面的字符Login
//以上幾行代碼主要是得到action的名字。
//利用反射調用action,比如請求頁面現在
Type type = Type.GetType(actionName);
Object kk = Activator.CreateInstance(type); 
type.GetMethod("Execue").Invoke(kk, new object[] { context });//Execue是Login.cs里面的一個方法,用于接收請求,處理數據。
}

現在我們要建一個處理具本業務的action類即Login.cs ,代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
public class Login
{
public Login()
{
}
public void Execue(HttpContext contex)
{
//處理具體的業務羅輯和數據操作。并重定向到指定頁面 
//一般是處理出來的數據保存到模型里面,方便視圖調用數據顯示。 
contex.Response.Redirect("OK.aspx");
}
}

4,我們現在建一個數據模型Person,可以保存和返回數據集,即MVC里面的M,

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
namespace Person
{
/// ﹤summary﹥
/// Model 的摘要說明
/// ﹤/summary﹥
public class Person
{
public Person()
{
}
privatestring _id;
privatestring _name;
publicstring Id
{
get { return _id; }
set { _id = value; }
}
publicstring Name
{
get { return _name; }
set { _name = value; }
}
publicDataTabledt
{
get { }
set { }
}
}
}

5,OK.aspx里面顯示處理后的數據顯示,可以用person里面的dt屬性返回數據按asp顯示數據的方法顯示出

﹤table﹥
......... 
﹤/table﹥

關于Asp.net中怎么實現一個MVC框架問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

射阳县| 西峡县| 集贤县| 莲花县| 清涧县| 盘锦市| 宁津县| 都匀市| 犍为县| 息烽县| 武冈市| 信阳市| 淮南市| 盱眙县| 景东| 中西区| 兴文县| 卢氏县| 定远县| 澄城县| 金山区| 渭南市| 乌拉特后旗| 池州市| 石棉县| 苍南县| 衡阳市| 德昌县| 额敏县| 承德市| 安义县| 衡山县| 海丰县| 稻城县| 岫岩| 中阳县| 徐州市| 宝丰县| 京山县| 崇义县| 金坛市|