所有,處理某些形式元素構建對象
我有一個形式,其中用戶可以動態地添加的元素的部分。他們可以一次添加包含3個輸入字段的行。請注意,我沒有將這些動態元素綁定到模型 - 我將在HTTP POST處理控制器中進行處理。
每個增加的行代表一個聯合贊助對象,將需要在用於HTTP POST的 形式處理控制器作用被創建並隨後被插入到數據庫中。
我想知道什麼是命名這些元素的最佳方式,以便我可以輕鬆地在處理控制器中創建對象?
目前,該元素被命名爲這樣的:
cosponsorcontact_1
cosponsoremail_1
cosponsorphone_1
cosponsorcontact_2
cosponsoremail_2
cosponsorphone_2
cosponsorcontact_4
cosponsoremail_4
cosponsorphone_4
cosponsorcontact_n
cosponsoremail_n
cosponsorphone_n
這將涉及大量的regexing和循環,從而把這些重新走到一起,從而創建對象。我假定這些元素可能以隨機順序位於Request.Form集合中,並且我們可能沒有順序編號的id,如上例所示。
我當然可以這樣做,但我相信必須有一種更簡單的方法,或許在表單元素的命名約定中?
這裏是生成的表單內容的一個片段:
<div id="cosponsors_6" style="display: block;">
<label>Sponsor club name</label></span>
<input type="text" title="Co-sponsor contact" placeholder="Name" name="cosponsorcontact_6" id="cosponsorcontact_6">
<input type="text" title="Co-sponsor email" placeholder="Email" name="cosponsoremail_6" id="cosponsoremail_6">
<input type="text" title="Co-sponsor phone" placeholder="Phone" name="cosponsorphone_6" id="cosponsorphone_6"><a class="icon delete"></a>
</div>
<div id="cosponsors_7" style="display: block;">
<label>Sponsor club name</label></span>
<input type="text" title="Co-sponsor contact" placeholder="Name" name="cosponsorcontact_7" id="cosponsorcontact_7">
<input type="text" title="Co-sponsor email" placeholder="Email" name="cosponsoremail_7" id="cosponsoremail_7">
<input type="text" title="Co-sponsor phone" placeholder="Phone" name="cosponsorphone_7" id="cosponsorphone_7"><a class="icon delete"></a><
</div>
<div id="cosponsors_8" style="display: block;">
<label>Sponsor club name</label></span>
<input type="text" title="Co-sponsor contact" placeholder="Name" name="cosponsorcontact_8" id="cosponsorcontact_8">
<input type="text" title="Co-sponsor email" placeholder="Email" name="cosponsoremail_8" id="cosponsoremail_8">
<input type="text" title="Co-sponsor phone" placeholder="Phone" name="cosponsorphone_8" id="cosponsorphone_8"><a class="icon delete"></a>
</div>
<div id="cosponsors_9" style="display: block;">
<label>Sponsor club name</label></span>
<input type="text" title="Co-sponsor contact" placeholder="Name" name="cosponsorcontact_9" id="cosponsorcontact_9">
<input type="text" title="Co-sponsor email" placeholder="Email" name="cosponsoremail_9" id="cosponsoremail_9">
<input type="text" title="Co-sponsor phone" placeholder="Phone" name="cosponsorphone_9" id="cosponsorphone_9"><a class="icon delete"></a>
</div>
你說得對。如果序列有差距,則不是所有的都會被綁定,我相信會有這種情況發生。這就是爲什麼我沒有走這條路。 – Slinky
啊!我不知何故錯過了你特別想要處理非連續編號。需要更多的咖啡。 – Manny