2011-06-07 143 views
1

我有一个页面可以动态生成任意数量的div。   div里面有一堆用户信息,带有文本区域和一个关闭记录的按钮。  请看看在HTML这里(我已经去掉了所有的 东西 不需要回答我的任务):处理ASP.NET MVC3表单中多个按钮的提示/建议?

<form action="/Recruiter" method="post"> 

<span id="1" class="underline" >Click Here</span> 
<div id="notes_1" style="display: none;"> 
    <textarea cols="30" id="PostBodyText" name="PostBodyText" rows="10"></textarea> 
</div> 

<input id="btnCloseOut" type="submit" name="Command" value="Close out" title="Close out."/> 
<input type="hidden" name="recruiterQueueId" value="2" /> 
<input type= "hidden" name="queueRecordId" value="1" /> 

<span id="2" class="underline" >Click Here</span> 
<div id="notes_2" style="display: none;"> 
    <textarea cols="30" id="PostBodyText" name="PostBodyText" rows="10"></textarea> 
</div> 

<input id="btnCloseOut" type="submit" name="Command" value="Close out" title="Close out."/> 
<input type="hidden" name="recruiterQueueId" value="2" /> 
<input type="hidden" name="queueRecordId" value="2" /> 

<span id="3" class="underline" >Click Here</span> 
<div id="notes_3" style="display: none;"> 
    <textarea cols="30" id="PostBodyText" name="PostBodyText" rows="10"></textarea> 
</div> 

<input id="btnCloseOut" type="submit" name="Command" value="Close out" title="Close out."/> 
<input type="hidden" name="recruiterQueueId" value="2" /> 
<input type="hidden" name="queueRecordId" value="3" /> 

最后这里是一个被张贴到看起来像什么控制器片:

[HttpPost] 
    public ActionResult Index(int recruiterQueueId, int queueRecordId, string postBodyText) 
    { 
     CloseOutQueueRecordResponse response = 
      checkInService.CloseOutQueueRecordRequest 
      (
       new CloseOutQueueRecordRequest() 
       { 
        RecruiterQueueId = recruiterQueueId, 
        QueueRecordId = queueRecordId, 
        CloseOutNotes = postBodyText 
       } 
      ); 
      // details ommitted... 

}

问题是总会出现,无论我打哪个按钮从第一个div的信息。我不是在抱怨,这是它应该做的。
我只是在寻找创意/建议,就如何发布信息,我想

OR

...我WSA的想法是一个按钮,里面的其他东西使用@ Html.ActionLink。 ...这几乎为我工作。我能得到相应的ID来控制,但我还没有能够提取文本区域的内容,在这种情况下...  

 

任何提示/建议吗?

+0

我不明白你的问题是什么。 – RedFilter 2011-06-07 20:03:24

回答

1

如果您只对一个“div”的数据感兴趣,可以为每个div创建一个表单。只有来自提交按钮表单的数据才会被发布。

另外:每个元素的ID应该是唯一的。所以你应该努力。您不必提供身份证件。

这些名称不必是唯一的。如果你使用多种形式,你会没事的。

+1

即使在表单中,名称也不必是唯一的。对于具有相同名称的多个输入,仅发送页面上的第一个输入。这也是为什么只发送第一个div的值的原因。 – Grastveit 2011-06-07 20:22:43

+0

像魅力GvS一样工作 – 2011-06-07 20:25:23