Something about ASP.NET MVC Preview 2(1)

來源:互聯網
上載者:User
ASP.NET MVC Preview 2發布有很多天了。這段時間一直在研究並應用到實際的項目中。我對它的一句話感受是: 的確很完美,的確很粗糙。完美的是產生的XHTML代碼我可以完全使用XHTML1.1標準DTD了;粗糙的是還不夠成熟,View裡還有cs代碼存在,控制頁面的Title屬性和伺服器控制項的資料繫結還得通過View的codebehind代碼實現。
如果你還不是很瞭解它,請從Scottgu發表的 road map 裡查看詳細的介紹和教程。

這篇日誌記幾個要點,最近的記憶力越來越差了,真的老了?
1。IIS6下的Routing配置。
按照介紹,在IIS6裡應該有如下文法{controller}.mvc/{action}/{id}的Route,需要把mvc副檔名映射到aspnet_isapi.dll來處理請求。但如果這樣就得不到一個完美的URL。這不是我想要的啊!其實很簡單,我可以把所有的請求都交給aspnet_isapi.dll來處理,雖然在效能上損耗一點點,但得到的成績是不能估量的。方法就是把aspnet_isapi.dll添加到“萬用字元應用程式對應”裡。即可達到完美URL的目標。
2。Best Practices about Form Design
這裡的Form就是web裡最基本的Form(不是傳統ASP.NET裡的Web Form)。上代碼: 1<fieldset>
 2    <legend>Fill the following fields:</legend>
 3    <form action="/Products/Save" method="post">
 4        <p><label for="pname">Name:</label><%= Html.TextBox("pname") %></p>
 5        <p><label for="pcat">Category:</label><%= Html.Select("pcat", ViewData.Categories)%></p>
 6        <p><label><%= Html.CheckBox("prec", "Recommanded", false) %></label></p>
 7        <p><%= Html.SubmitButton("psubmit", "Submit") %></p>
 8    </form>
 9</fieldset>

這是在View裡面的well formed XHTML代碼(注意不是HTML)。一個好的建議是每一個input都有一個label圍繞,這樣的一個好處是點“Name"的時候,游標會自動定位到pname這個input文字框裡,當然它的好處不僅僅是這一個。要完成這個過程還需要一個Action: 1public void Save(string pname, int pcat, string prec){
 2  Product product = new Product();
 3  product.Name = pname;
 4  product.CategoryId = pcat;
 5  product.IsRecommanded = !(prec == null);
 6  
 7  dataContext.Products.InsertOnSubmit(product);
 8  dataContext.SubmitChanges();
 9
10  RenderView("SaveOK");
11}

可能你看到了一些非常奇怪的代碼。但是目前我不能不這麼做。
問題:Action的參數prec為什麼不直接用bool類型?
答案:我們知道CheckBox有個checked屬性,但在ASP.NET MVC裡目前還不能擷取到它,不能直接用bool類型的原因也是因為自動對應值是擷取控制項value屬性的值而不是其他屬性的值。
[OK,太晚了,未完成……]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.