2014-12-07 31 views
0

我不知道如何去做这件事。MVC - 添加到基于HTML的模型attrib

我正在创建自定义表单,其中问题/项目的顺序可以在飞行中重新排列。这样做会更新html代码中项目的属性。

这是每个项目在任何问题“设置”到表单之前的样子。

<li class="field item" order=""> 
    ...more html for item 
</li> 

,这里是它的外观,一旦有人将项目拖曳到“创建区域”

<li class="field item" order="1"> 
    ...more html for item 
</li> 

如果他们补充说,项目下的其他项目将是

<li class="field item" order="1"> 
    ...more html for item 
</li> 
<li class="field item" order="2"> 
    ...more html for item 
</li> 

当然,如果这些项目重新排列,那么order属性也会更新以显示更正顺序。

我的问题是如何将order number设置为我的模型? 我假设这将需要一些JavaScript,我不太惊人。

+1

您的模型需要一个'order'属性,需要使用javascript进行更新。 – 2014-12-07 20:58:14

回答

1

您基本上需要模型内部的Order属性。

int Order { get; set; } 

然后,您可以:

@Html.HiddenFor(m => m[i].Order) 

在JavaScript中,你需要找到这样的:

var el = document.getElementById('[0].Order'); 

手表什么得到的DOM加载,看看如何找到你的元素在JavaScript中。