2012-07-23 103 views
0

我想根據數據生成這樣如何剃刀

@foreach (var item in @Model.Where(o => o.Status == "Submitted")){ 
    <tr class="row" data_orderid="@item.Id"> 
    <td class="description"> 
     @item.Customer 
    </td> 
    <td class="description"> 
     @item.OrderDescription 
    </td> 
    ...etc...etc 

表,這樣我可以處理每個TR的單擊事件,並顯示一些信息添加HTML5數據出頭的屬性被點擊的tr的orderid屬性值。

在Visual Studio中,我收到一條驗證消息,聲明「data_orderid不是tr的有效屬性」,並且它在呈現HTML tr時沒有屬性,而不是事件類。

我應該如何添加這樣的屬性?

+0

爲了讓VS 2010驗證HTML作爲HTML5工具>選項>文本編輯器> HTML>驗證和更改目標HTML5 – 2012-07-23 14:31:06

回答

3

HTML 5數據屬性的格式是這樣的

data-AttributeName=AttributeValue 

實施例:

data-name="John Resig" 

變化underscorehiphen,它會被正確地渲染。

<tr class="row" data-orderid="@item.Id"> 
+0

其實在ASP.Net MVC剃刀3+你。必須使用_在最後得到a - out,所以應該是data_orderid =「@ item.Id」,但是當他得到它時,他應該使用 - 而不是。http://www.devcurry.com/2011/04/AS pnet-mvc-3-handling-html-5-attributes.html – 2012-07-23 14:16:03

+1

@ShaneCourtrille:HTML Helper方法就是這樣。他正在手寫純HTML。 – Shyju 2012-07-23 14:17:19

+1

啊好點。我立場糾正。 – 2012-07-23 14:17:42

0

,首先它是更有可能的是,你應該使用「數據-XXX」(而不是「data_xxx」)的屬性。其次,視覺工作室忽略類和「data_orderid」屬性是不太可能的(如果不是不可能的話)。

確保for循環會從你的病情@ Model.Where的任何元素(O => o.Status ==「提交」

此外,作爲一個音符,剃鬚刀是足夠聰明的解釋「的HTML屬性「傳遞給元素,如這裏:

@Html.TextBoxFor(m => m.Name, new { @data_orderid = item.id, @class="input-xxlarge" }))