簡體   English   中英

ASP.NET MVC jQuery HTML5數據屬性

[英]ASP.NET MVC jQuery HTML5 data attribute

我有三個.cshtml文件:_ProductSelection.cstml->這定義了html表

@model List<..Rate>
<table id="productgrid">
 <thead>
...
</thead>
<tbody>
     @Html.Partial("_ProductRows", Model)
</tbody>
</table>

_ProductRows.cshtml->這會將一些屬性添加到每個tr和td

    @if (Model != null && Model.Count > 0)
    {
        foreach (var rate in Model)
        {
            <tr class="@(rate.IsSelected ? "selected" : "")" data-base="@rate.BaseCharge" data-planname="@rate.PlanName" >
...

MVC控制器發出的ProductSelection.cshtml-> actual view調用:

    ....
     @Html.Partial("_ProductSelection", Model.Rates)
    ...
    @section scripts {
       ..
        var table = $('#productgrid'),
          tbody = table.find('tbody'),
       ...

     $(function () {
....
     tbody.find('tr').each(function (index, elem) {
                    var self = $(elem),
                        base = parseFloat(self.attr('data-base')),
         .....

這是工作代碼,我可以訪問productSelection.cshtml中的所有data屬性,這些屬性在_ProductRows.cshtml文件的tr標簽中設置。 例如數據庫,數據計划名稱

問題是:我在_ProductRows tr標記中添加了更多數據屬性,但是在ProductSelection.cshtml中看不到新的數據屬性,當我在google chrome中調試並檢查elem的值時,它僅具有之前定義的數據屬性,而在不在元素的“屬性”列表中。 在下面的示例中,我看不到新添加的數據信用。

<tr class="@(rate.IsSelected ? "selected" : "")" data-base="@rate.BaseCharge" data-planname="@rate.PlanName" data-credit="@rate.Credit" >

我增加了將近20個數據屬性,在chrome中調試時它們都不可見。 在費率模型中,我添加了所有這些新字段,並從數據庫中的值填充了它。

謝謝大家的回應。

我找出了新屬性未出現在“元素”中的原因。

在ProductSelection.cshtml上,還有一個函數將屬性添加到tr標簽,該函數將覆蓋_ProductRows.cshtml中添加的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM