在ASP.NET MVC中,是否使用工具箱中的「常規」控件並將數據分配給它們,就像我使用webforms一樣?例如,我可以使用gridview嗎?ASP.NET MVC是否使用常規工具箱控件?
謝謝。
編輯:答案似乎是否定的。那麼你用什麼?在Visual Studio中是否有像Webform控件一樣的拖放控件?
在ASP.NET MVC中,是否使用工具箱中的「常規」控件並將數據分配給它們,就像我使用webforms一樣?例如,我可以使用gridview嗎?ASP.NET MVC是否使用常規工具箱控件?
謝謝。
編輯:答案似乎是否定的。那麼你用什麼?在Visual Studio中是否有像Webform控件一樣的拖放控件?
大多數情況下,使用MVC顯然不是拖放事件。沒有一定程度的自動佈線數據綁定控制。 MVC結構的目的是更直接地控制標記。有一些幫助器方法可以用於渲染表單控件。 MVC是服務器端非常不同的開發模式。注意,你可以將ASP.Net和MVC結合成一個混合項目。
我建議您需要對HMTL標記感到滿意,以及HTTP + HTML通信如何在MVC項目中取得成功。 javascript的使用也非常明確。關於從後端分離問題和基於Web的應用程序的前端,MVC非常好。與前端渲染相比,這樣可以更輕鬆地設計和測試後端邏輯。它是一個Web開發人員的框架(基於Web的應用程序是第一個關注的問題),而不是Web前端(基於ASP.Net控件)的開發人員框架。
我相信你可以使用任何不依賴回發功能的控件。
不,任何使用__doPostBack
JavaScript函數觸發回發的控件都不起作用。在ASP.NET MVC中也沒有ViewState
的概念,所以任何依賴於ViewState或ControlState的控件都無法工作。
ASP.NET MVC背後的想法是採取與較重的WebForms模型(及其大多數控件)不同的方法。
您無法直接在ASP.NET MVC中使用WebForms控件。
但是你可以在HTML助手中包裝任何控件。
實施例一個GridView:
public static class MvcGrid
{
public static string MyGrid(this HtmlHelper helper)
{
var grid = new GridView();
var source = new[]
{
"Foo",
"Bar",
};
grid.DataSource = source;
grid.DataBind();
var stringWriter = new StringWriter();
var writer = new HtmlTextWriter(stringWriter);
grid.RenderControl(writer);
return stringWriter.ToString();
}
}
但是,這將不能用作一個WebForm GridView的。
它僅用於呈現HTML。
在ASP.NET MVC中,WebForms工具箱中的一些控件將工作得很好(雖然我相信GridView
不是其中之一...)。該鍵是,我不知道,你真的你不能使用依賴於任何
__doPostback()
JavaScript函數)控制,或然而想要使用這些控件。 ASP.NET MVC的主要想法之一是在您的html標記中重新獲得控制權 - 對於GridView
您確實沒有。如果您想要具有可重複使用的網格佈局來呈現數據,我建議根據數據的複雜性使用PartialView
或Extension Method
到HtmlHelper
類。
ASP.Net MVC專注於使用視圖模板生成自己的HTML。您不能在視圖中使用Webform控件,並讓應用程序像使用Webforms一樣處理它們。他們可能會正確渲染,但沒有回傳功能或保持其狀態的概念。
也就是說,您可以將ASP.Net Webforms與您的MVC樣式頁面集成在一起。您可以隨時查看具有「混合」asp.net應用程序的經典Hanselman漫遊:http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx
答案是Yes和No. Preferrably號
這是社會的恐懼,asp.net和MVC的激進混合成一個無法識別和unecessarily複雜的組裝機。
對於任何人在看MVC,我建議:
因此,要回答你的問題,MVC仍然是新,MVC的Contrib ,MVC Futures和Html助手都可以在框架和網絡上使用。繼續衝浪並保留自己的調整庫,然後發佈它們,以便其他人可以找到並改進它們,反之亦然。 MVC可以是.net社區一直在等待的改變,我們不要回頭來拖拉和放下這麼快。
祝你好運!
這讓我懷疑他們是否得到了更大的發展觀衆或者失去了一些人。這似乎甚至與其他所有人一起使用除Visual Studio之外的MVC框架作爲IDE。 – johnny 2009-05-21 19:10:56