1

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

4

2 回答 2

3

您可以使用可见输入的自定义属性来避免那些额外的隐藏字段

<input type="text" id="1" name="leg" data-id="101" />

使用jquery,你会得到这样的data-id属性

var id = $('#1').data('id');

作为旁注,既然您说您有多行,请确保您没有重复输入 ID。

于 2012-07-02T17:40:26.593 回答
0

我也强烈建议使用 jQuery-HTML5 data()API。

如果这些值是补充数据,您应该使用它。

请参阅我对这个问题的回答

至于将它传递给控制器​​,您可以通过 Ajax 传递它,如果这是您可以尝试的选项。

$.ajax({
  url : '/Controller/Action/',
  data : { param1 : 'Hello' }
});
于 2012-07-02T18:34:12.873 回答