我现在需要在隐藏字段中保留有关我的控件的一些数据。我正在使用MVC 3进行记录。我担心的是,我会像穷人的观点一样使用隐藏的领域。在这样做的过程中,我觉得我会冒着让页面慢慢(或慢一点)的风险。我正在谈论的一个例子如下。
简而言之,页面上有很多隐藏字段会导致页面慢慢运行/渲染吗?
一行的示例:
<div>
<div>1.</div>
<div>
Enter the measurements for the bridge legs (record from left to right, top, then bottom):
(I am one of many rows in this form.)</div>
<div><input type="text" id="1" name="leg" /><input type="hidden" id="1" name="dataid" value="101" />
<input type="text" id="2" name="leg" /><input type="hidden" id="2" name="dataid" value="102" />
<input type="text" id="3" name="leg" /><input type="hidden" id="3" name="dataid" value="103" />
<input type="text" id="4" name="leg" /><input type="hidden" id="4" name="dataid" value="104" />
<input type="text" id="5" name="leg" /><input type="hidden" id="5" name="dataid" value="105" />
<input type="text" id="6" name="leg" /><input type="hidden" id="6" name="dataid" value="106" />
<input type="text" id="7" name="leg" /><input type="hidden" id="7" name="dataid" value="107" />
<input type="text" id="8" name="leg" /><input type="hidden" id="8" name="dataid" value="108" />
<input type="text" id="9" name="leg" /><input type="hidden" id="9" name="dataid" value="109" />
<input type="text" id="10" name="leg" /><input type="hidden" id="10" name="dataid" value="110" /></div>
<div><input type="submit" value="Submit" /></div>
</div>
我最终会有一个包含80行的页面,每行都有多个控件。鉴于这种情况,我是否过度了,或者我是否有合法的担忧?
答案 0 :(得分:3)
您可以使用可见输入的自定义属性来避免这些额外的隐藏字段
<input type="text" id="1" name="leg" data-id="101" />
使用jquery,你会得到像这样的data-id
属性
var id = $('#1').data('id');
作为附注,由于您说您有多行,请确保您没有重复输入ID。
答案 1 :(得分:0)
我也强烈建议使用jQuery-HTML5 data()
API。
如果这些值是补充数据,您应该使用它。
请参阅此问题的answer。
至于将它传递给控制器,您可以通过Ajax传递它,如果这是您可以尝试的选项。
$.ajax({
url : '/Controller/Action/',
data : { param1 : 'Hello' }
});