[英]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.