隐藏的输入是否会影响页面渲染速度?

时间:2012-07-02 17:34:59

标签: html asp.net-mvc asp.net-mvc-3 performance

我现在需要在隐藏字段中保留有关我的控件的一些数据。我正在使用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行的页面,每行都有多个控件。鉴于这种情况,我是否过度了,或者我是否有合法的担忧?

2 个答案:

答案 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' }
});