如果url是 /home/index?id=3 直接Request就ok。
但是如果路由設定為:{controller}/{action}/{id}
url是 /home/index/3
這時想在頁面View中獲取參數id的值,該怎么獲取?
查了下資料好多人都利用Action獲取到參數值后,用Viewdata傳到View中
例如
Controlers中的phonelist這樣定義
public ActionResult phonelist(int id)
{
ViewData["id"] = id;
return View();
}
其實,沒有必要,只要在view中這樣獲取就可以:
<%=Html.ViewContext.RouteData.Values["id"]%>
就算沒有id的參數也不會報錯。
同樣:<%=Request.RequestContext.RouteData.Values["id"] %>和
<%=Html.ViewContext.RouteData.Route.GetRouteData(Html.ViewContext.HttpContext).Values["id"]%>
也可以取到。
分類:
ASP.Net MVC,
C#
ASP.Net MVC
mvc1.0
摘要: 關於Razor因為最近我身邊的朋友和博客的博友,似乎對MVC3和Razor沒有什么好感,甚至於認為微軟開發Razor是走在另一條錯誤的路上。雖然我也沒有在項目中實際用到Razor,但是一直以來都還是挺關注Razor的進展,對它的語法也是了解一二,總體感覺就是更為干凈和流暢了,其它的並沒有更深的認識。晚上在看ScottGu文章的時候,一段代碼片段立即吸引了我:你知道這段代碼哪里吸引了我嗎?沒錯,就是C#代碼與html結合的非常流暢,(特別是它在花括號的處理上面,真的是讓我眼睛一亮,因為目前最討厭有花括號的ASPX代碼了),相應的ASPX語法是這樣的:從兩個代碼片段對應,至少兩點非常吸引我:ASP
閱讀全文
摘要: 一、Uploadify控件 在ASP.NET中上傳的控件有很多,比如.NET自帶的FileUpload,以及SWFUpload,Uploadify等等,尤其后面兩個控件的用戶體驗比較好,無刷新,帶上傳進度等等。在最近的一個webform開發項目中,我就是使用的Uploadify,雖然有些小瑕疵,但是基本上還是滿意的(在webform中使用Uploadify可以參考《JQuery上傳插件Uploadify使用詳解》),所以當現在使用MVC開發的時候,自然將之作為首選。Uploadify官方Demo二、在MVC中使用Uploadify首先引入js和css文件:<script src=&quo
閱讀全文
摘要: ----- 概述 ----- 1.HTML中 id="form_upload" 表單的target 屬性要指向頁面中不可見的 iframe( id="hidden_frame") 這樣提交到 ifrmae 中的請求會刷新這個不可見的幀2.使用 TestSubmit() 方法提交數據就是因為方便傳一些自定義的參數(currentPath)3.服務器端的代碼自己去研究吧!注意的是如果成功需要調用一個回調函數 UploadCallback 刷新頁面,這個回調函數要寫在響應流中----------------一、HTML 內容 <!--begin 上傳文件
閱讀全文
摘要: 錯誤原因,在使用ado.net entity的時候,entity使用的數據庫是sqlserver 2008,但后來實際使用中使用的數據庫是sqlserver 2005 使用的 SQL Server 版本不支持數據類型“datetime2” The version of SQL Server in use does not support datatype ‘datetime2 解決辦法 Open your EDMX in a file editor (or “open with…” in Visual Studio and select XML Editor). At the top you will find the storage model and it has an attribute ProviderManifestToken. This has should have the value 2008. Change that to 2005, recompile and everything works. 就是打開你的edmx文件,搜索ProviderMan
閱讀全文
摘要: asp.net entity 傳入的表格格式數據流(TDS)遠程過程調用(RPC)協議流不正確。參數 3 ("@0"): 數據類型 0xA7 的數據長度或元數據長度無效。在我們用ado.net entity framework 做數據層提交數據時如果對應數據庫有字段為text 類型時在SSDL中映射為Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><PropertyName="FBody"Type
閱讀全文
摘要: 知道實體主鍵,可以這樣直接刪除,不用再讀取一遍Repository target = new Repository();actual = target.DeleteSave(new News { NewsID = 3 });
閱讀全文
摘要: Asp.net Mvc Framework在.net 2.0 在不同版本的 IIS 上使用 ASP.NET MVC(轉) ASP.NET MVC Framework 依賴於 URL 路由。為了利用 URL 路由,可能不得不在 Web 服務器上執行額外的配置步驟。這些步驟取決於 Internet Information Services (IIS) 的版本和應用程序的請求處理模式。
閱讀全文
摘要: 過去,在將JavaScript腳本和CSS文件部署到Web服務器之前,我習慣使用壓縮工具進行壓縮再部署,安裝Chirpy后,你的腳本和CSS文件將會基於其名字自動壓縮,例如,假設你有一個名叫myscript.js的腳步文件想要壓縮,只要你將其重命名為myscript.yui.js,它就會調用YUI壓縮程序自動壓縮,壓縮后的文件在解決方案資源管理器中顯示為一個子項目,你可以繼續查看和調試未經壓縮的腳本。 Chirpy Zippy安裝步驟: 1.將源文件解包,並添加到相應的文件夾 2.在Visual Studio里打開一個新的實例,點擊工具>添加新的管理 3.看到下圖表示安裝完成。 2
閱讀全文
摘要: 前言 本來使用Forms Authentication進行用戶驗證的方式是最常見的,但系統地闡明其方法的文章並不多見,網上更多的文章都是介紹其中某一部分的使用方法或實現原理,而更多的朋友則發文詢問如何從頭到尾完整第實現用戶的注冊、登錄。因此,Anders Liu在這一系列文章中計划通過一個實際的例子,介紹如何基於Forms Authentication實現:l 用戶注冊(包括密碼的加密存儲)l 用戶登錄(包括密碼的驗證、設置安全Cookie)l 用戶實體替換(使用自己的類型作為HttpContext.User的類型) 有關Forms Authentication的原理等內容不屬於本文的討論
閱讀全文
摘要: 找到了多個與名為“Home”的控制器匹配的類型。如果為此請求(“{controller}/{action}/{id}”)提供服務的路由沒有指定命名空間來搜索匹配此請求的控制器,則會發生此情況。如果是這樣,請通過調用采用“namespaces”參數的“MapRoute”方法的重載來注冊此路由。
閱讀全文
摘要: 使用mvc2里面的area讓網站更有條理 最近裝了mvc2 pr2版本,看了下說明文檔,里面着重提示說更新了area項目,因此着重看了一下。若干心的,和大家共享,有錯沒錯,歡迎大家拍磚。沒有Areas前相同問題的處理在mvc1.0時代,如果要將網站按目錄結構來區分。例如Website/IndexAdmin/ Index User/ Index……/……通常都是在Views下面建立若干個和Controller相對應的目錄,然后在里面放置aspx頁面Views\Website\Index Views\Admin\IndexViews\User\IndexViews\.......\.......這
閱讀全文
摘要: MVC2.0 用Area 擴展項目的目錄結構 Area是MVC2.0里新特性,但是感覺在項目中應用的不是很多,也許是項目比較小吧,沒有在意目錄結構的整理,舉個例子來說吧,比如我們在管理自己項目的后台時候需要建立一個Admin目錄,總感覺Admin建在View目錄下不是很好,而且對URL顯示也不是很完美..比如/Admin/index.aspx… 如果能有一個目錄來單獨管理Admin 是很完美滴… 在 MVC1.0時沒辦法實現這個功能,MVC2.0 提供了Area 特性,用來管理越來越龐大的項目目錄結構..在VS2010里面項目上右鍵.添加…輸入名稱之后..目錄結構會變成: 其中Admin 就是
閱讀全文
摘要: 我記得在ADO.NET EF 1.0中,如果用query.Where().Where()寫法生成的SQL比較弱智,就是嵌套一層一層的子查詢,那么再VS2010有沒有改進捏???我做個例子檢驗一下。新建一個ASP.NET MVC2的工程,數據庫就用SQL2000就有的Northwind,只用一個Customers表。直接在HomeController上加Query方法,默認情況下顯示全部。代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[Http
閱讀全文
摘要: Entity Framework 4 第一篇 POCO在EFv1版本中,並沒有提供對POCO(Plain Old CLR Objects)的支持。目前,在.Net4.0 Beta2中的EF 4完善了很多。可以預見,正式的EF4版本應該會有很多改進和完善。在EF4中的提供了對POCO的支持。並支持的數據定義語言(DDL)。這樣,我們可以不需要事先生成EDMX文件,而是通過代碼編程來實現對數據的操作(Code Only)。下面,介紹在EF4中利用POCO來實現數據定義操作。第0步:准備工作:操作系統:Windows 7旗艦版開發環境:VS2010 Beta2+SQL Server2008第1步:先
閱讀全文
摘要: 使用@ OutputCache指令,能夠實現對頁面輸出緩存的一般性需要。@ OutputCache指令在ASP.NET頁或者頁中包含的用戶控件的頭部聲明。這種方式非常方便,只需幾個簡單的屬性設置,就能夠實現頁面的輸出緩存 策略。@ OutputCache指令聲明代碼如下。 @ OutputCache指令代碼 <%@ OutputCache CacheProfile =" " NoStore= "T...
閱讀全文
摘要: public static int Flag = 1; if ((Flag+=1) > 10000) Flag = 0; long random = Convert.ToInt64(DateTime.Now.Ticks.ToString().Substring(DateTime.Now.Ticks.ToString().Length - 10)) + Flag;
閱讀全文
摘要: dhl:asp.net mvc 在View中獲取Url參數的值
閱讀全文
摘要: 本文出自:http://www.cnblogs.com/JeffreyZhao/archive/2009/03/09/no-dependency-to-httpcontext.html 我們繼續《ASP.NET MVC單元測試最佳實踐》,今天主要談論HttpContext的依賴問題。 在ASP.NET中進行單元測試的天敵便是HttpContext,它是ASP.NET的核心,極端復雜,卻無法進行...
閱讀全文
摘要: asp.net mvc2中的<%:l.Content %>和<%=l.Content %>的區別
閱讀全文
摘要: 對於Body的Onload事件和JQuery的Ready方法相比,有很多弊端.比如:1.加載多個函數的問題<body onload="a();b();"></body>在Onload事件中只能這樣加載,很丑陋…而在JQuery中你可以利用多個JQuery.Ready()方法,它們會按次序依次執行2.代碼和內容不分離 這個貌似不用說了,讓人深惡痛絕-.-!!3....
閱讀全文
摘要: 實例:然后3個聯合的時候:就出現“/”應用程序中的服務器錯誤: 在單個 LINQ to Entities 查詢中的兩個結構上不兼容的初始化過程中出現類型“Taoxue.Entities.DTO.TeacherAccountInfo”。類型可以在同一查詢中的兩個位置初始化,但前提是在這兩個位置設置了相同的屬性,且這些屬性是以相同的順序設置的。 代碼改為...
閱讀全文
摘要: Controller 提供了眾多的方法讓我們返回各種類型的 ActionResult。1. View最常用的一種,用於返回一個 "標准" 頁面。這個頁面默認是 ViewPage,也可以是我們自己定義的其它模板引擎頁面。MVC 還提供了強類型的 ViewPage<TModel>。Index.aspx 在 WebForm 時代,我們就已經習慣了將一個頁面分解成多個 UserControl,...
閱讀全文
摘要: 登錄:注銷:判斷是否登陸:webcofig:沒有登錄時候ie地址欄:http://localhost/Account/Login?ReturnUrl=%2fShoppingCart%2fpayment%3flid%3d1%26classid%3d10010%26type%3dbuy&lid=1&classid=10010&type=buy
閱讀全文
摘要: KeyValuePair 的基本用法
閱讀全文
摘要: 原因是: 在4.0中,請求驗證在頁面和ACTION驗證之前進行.因此設置validateinput並不能禁用驗證.msdn說明如下:RequestValidationMode 屬性指定要使用的 ASP.NET 驗證方法。 這可以是在 ASP.NET 版本(早於版本 4)中或在 .NET Framework4 版 中使用的版本中使用的算法。可以將屬性設置為下列值:4.0(默認)。 HttpReque...
閱讀全文
摘要: FavIcon.ico是一個特殊的文件,它是瀏覽器請求一個網站時出現的。某些瀏覽器在書簽和收藏夾中使用這個圖標。在與這些圖標相關的網站被打開時,某些瀏覽器也在標題欄或瀏覽器標簽中中顯示這個圖標。當一個瀏覽器試圖從一個ASP.NET MVC Application中取得這個FavIcon.icon文件時,應用程序(application)拋出一個異常 (ArgumentNullException)。...
閱讀全文
摘要: asp.net mvc下用jQuery實現無刷新分頁
閱讀全文
摘要: 枚舉的另一種用法:C#中字符串和枚舉類型互轉
閱讀全文
摘要: 方法1:private TaoXueDBEntities _TaoXueDBEntities = new TaoXueDBEntities();//銷毀TaokeRepository的時候才能銷毀_TaoXueDBEntities 建議采用using方法。public IList<Lesson> GetAllLesson(){var query = _TaoXueDBEntities....
閱讀全文
摘要: 如果想創建如同 ASP.NET MVC Framework 中標准的 HTML Helper 一樣工作的 HTML Helper,則需要創建擴展方法。擴展方法可以用於向現有類添加新的方法。創建 HTML Helper 方法時,會將新方法添加到由視圖的 Html 屬性表示的 HtmlHelper 類中。程序清單 3 中的類將擴展方法添加到名稱為 Label() 的 HtmlHelper 類中。關於此...
閱讀全文
摘要: ASP.NET MVC + Jquery實現Ajax下拉框數據2或3級聯動(+用戶控件)
閱讀全文
摘要: vs2010 -EF4.0 數據層的實現: 通過反射返回泛型的工廠
閱讀全文
摘要: EF4.0中Entities執行sql語句
閱讀全文
摘要: RSS全稱Really Simple Syndication。一些更新頻率較高的網站可以通過RSS讓訂閱者快速獲取更新信息。RSS文檔需遵守XML規范的,其中必需包含標題、鏈接、描述信息,還可以包含發布時間、最后更新時間等信息。本文將介紹通過LINQ to XML生成XML文檔,並在ASP.NET MVC Web應用程序中輸出。在生成RSS文檔前,先簡單了解一下RSS的結構。根節點rss下有cha...
閱讀全文
摘要: 之前經常看到有人問使用了ADO.NET Entity Framework或Linq to SQL的項目該如何分層。EF或Linq2SQL自己生成了一個實體類,由於一般實體類都貫穿整個項目,如果把這個自動生成的實體類作為整個項目實體類的一部分,那么整個項目中的大多數類都將對數據訪問層有依賴。當數據庫結構變動或者數據訪問層有變化時,整個項目很可能隨之而動,這樣的設計並不是很好。但是在此之前MS給的一些...
閱讀全文
摘要: ,我的數據庫有個Users表,三個字段,id,username,createtime。id是int型,自增長,主鍵username是nvchar(10)型,不允許為空 createtime是DateTime型字段,不允許為空,默認值 是getdate()如果用Entity框架生成實體類,直接添加數據,不指定createtime,那就會在SaveChanges時出錯: using (LinqDemo...
閱讀全文
摘要: 1.如何讓Controller不返回視圖?(比如僅執行一些數據庫操作)很簡單,只要在Controller中定義一個void類型的public方法即可view sourceprint?01public void DeleteData() 02{ 03using (SQLiteConnection conn = new SQLiteConnection("Data Source=" + Server....
閱讀全文
摘要: 最近幾周,在博客、Twitter和論壇上如火如荼地展開了一場討論。討論的內容是:開發人員是否應該使用或學習ASP.NET MVC。從“不推薦學習”到“所有ASP.NET開發人員都應該學習”,各種不同的觀點層出不窮。InfoQ對其中部分討論內容進行了總結。 Rob Conerey(SubSonic之父,目前是微軟ASP.NET MVC團隊的一員)解釋了...
閱讀全文
摘要: .Routing的作用 第一講中實例的首頁地址是: localhost/home/index我們發現訪問上面的地址, 最后會傳遞給 HomeController中名為index的action(即HomeController類中的index方法).當然服務器端不會自己去實現這個功能, 關鍵點就是在Global.asax.cs文件中的下列代碼:回來看我們的Url: localhost/home/ind...
閱讀全文
摘要: Html.RenderPartial,Html.RenderAction 與Html.Partial 的區別
閱讀全文
摘要: Linq如: var v = from l in _dal.Share where l.PingcoId == pingcoId && (l.CreateTime.Date == DateTime.Now.Date) select l; return v.ToList();會報錯:LINQ to Entities 不支持指定的類型成員“Date”。改成這樣O...
閱讀全文
摘要: <customErrors mode="Off" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </custom...
閱讀全文
摘要: //ajax無法跨域改用getJSON var url = "<%=webcode.PublicMethod.url.HttpAndPoint%>/call/ChatSubmitJson?callback=?"; var data = { wrEditor: encodeURI(showdData,"utf-8"), id: "<%=ViewData["id"]%>" };...
閱讀全文
摘要: httpHandler.ProcessRequest(HttpContext.Current);傳入的請求不與任何路由匹配-解決方案 默認規則"{controller}/{action}/{id}"被修改如:"{controller}.mvc/{action}/{id}",改回來"{controller}/{action}/{id}", 就可以了
閱讀全文
摘要: public ActionResult upload2() { try { HttpFileCollectionBase files = Request.Files; for (int iFile = 0; iFile < files.Count; iFile++) { HttpPostedFileBase postedFile = files[iFile]; string fileName = System.IO.Path.GetFileName(postedFile.FileName); if (!string.IsNullOrEmpty(fileName)) { postedFile.Sav
閱讀全文
摘要: checkbox的值
閱讀全文
摘要: “無法更新EntitySet“*****”,因為它有一個DefiningQuery,而<ModificationFunctionMapping>元素中沒有支持當前操作的<InsertFunction>元素”問題的解決方法遇到RT的問題的原因很尷尬,其實很可能就是沒有定義這個表的主鍵,至於為什么沒有定義主鍵,這個…...
閱讀全文
摘要: 附數據庫結構:代碼:[代碼]調用 :[代碼]注意點: 循環不能用foreach(foreach是取只讀的,在取的時候數據不能變(包括修改,刪除,添加等)。)否則會報錯誤:集合已修改;可能無法執行枚舉操作(進來看) 前台頁面:[代碼]最終樣式:-家用電器-大 家 電-洗衣機-家庭音響-空調-洗衣機-生活電器-吸塵器-電熨斗-取暖電器-加濕器-電話機-廚房電器-電磁爐
閱讀全文
摘要: 完全不使用配置文件構建和使用WCF服務只使用代碼而不用配置文件的情況不適合IIS為宿主的情況,IIS宿主必須使用配置文件配置WCF的ServiceHost。1、 服務端1.1. 准備Contract和實現Contract的服務很簡單的一個Contract(Interface)和實現這個Contract(實現這個接口的類)的服務。這是VS2005中使用add new item,選WCF Servic...
閱讀全文
摘要: 留言簿的例子:使用WCF的多層構架。我們將會建立以下項目:l A,網站項目 WebSite:留言簿表現層l B,類庫項目 Contract:定義數據訪問服務的契約l C,類庫項目 Service:定義數據訪問服務l D,類庫項目Entity:留言簿實體l E,控制台項目Host:承載數據訪問服務項目之間的引用如下:l A引用B和D;l B引用D和System.ServiceModel程序集l C引...
閱讀全文
摘要: MSDN上最近發表了一篇Elisa Flasko著的文章,比較了LINQ to SQL與LINQ to Entities適用的場景:Introducing LINQ to Relational Datahttp://msdn2.microsoft.com/en-us/library/cc161164.aspx 作者指出,LINQ to SQL主要的應用場景是針對微軟SQL Server數據庫的快速...
閱讀全文
摘要: LINQ to Entities是Ado.net Entity Framework的查詢語言之一,它為了更好的兼容更多種的數據庫所以在使用方法上有所精簡,比之linq2SQL卻少了一些好用的方法,下面就說一下這些日子來使用它時遇到的問題及解決方法以下只列出了完全Not supported的內容,部分supported的方法都可以通過簡單的增簡參數解決1.Contains這一函數在linq2sql中...
閱讀全文
摘要: 保持重典的風格,先看一下最終的效果. 前言這事吧,還得從Linq to Sql說起近乎所有的Linq to SQL的查詢中總是免不了exec sp_reset_connection 與Audit Logout(就 是數據庫連接)這一進一出,費時太多,於是近半年來每個月總有那么幾天來研究它網上呢,解決方案不是沒有using (TransactionScope ts = new Transaction...
閱讀全文
摘要: [代碼]HTML后:快速購買: <a href="/Shop.mvc/Buy/1?ShopType=1&MoneyType=Golden&BuyNum=1">1</a> <a href="/Shop.mvc/Buy/1?ShopType=1&MoneyType=Golden&BuyNum=1">1</a&...
閱讀全文
摘要: 新的ADO.NET Entity Designer;
閱讀全文
摘要: 介紹Entity Framework是如何使用的。在此之前,必須下載ADO.NET Entity Framework runtime 和tools,官方也提供了很多示例下載。下面正式開始ADO.NET Entity Framework之旅(開發工具VS 2008 beta,以Northiwind數據庫為例)。ADO.NET Entity Framework 是微軟以 ADO.NET 為基礎所發展出...
閱讀全文
摘要:
閱讀全文
摘要:
Linq之group by 學習 使用:linq查詢工具可以幫助深刻理解!
閱讀全文
Linq之group by 學習 使用:linq查詢工具可以幫助深刻理解!
閱讀全文
摘要: 一個Action:[代碼]另一個:[代碼]以上這個沒有問題,只是在“摩洛哥”下支持302跳轉(有時候不支持,sid要自己帶。), 但是不支持session。所以Tempdata過不去。(沒有提示信息)如果用以下方式:[代碼]注意要把FriendFarm 的Action的Farm模型帶過去。
閱讀全文
摘要: 1. View最常用的一種,用於返回一個 "標准" 頁面。protected internal virtual ViewResult View(string viewName, string masterName, object model){if (model != null){base.ViewData.Model = model;}return new ViewResult { ViewNa...
閱讀全文
摘要: RenderPartial 和 RenderAction
閱讀全文
