日期:2014-05-17  浏览次数:20948 次

防止function 被 override 了 (C#)
大家好,

我有一个repeater, 在repeater 里面, 如果碰到对的condition的话,就会call 一个function, 这个 function 是pop up 一个 小window, 让user 可以在里面填写资料,然后按 "OK" 按钮。
以下是我的 code :

foreach( RepeaterItem itm in repGiftResults.Items )
{
if (pr.AdditionalFieldsEnabled == true)
    {
AdditionalInfoGiftProcess(pid, giftId, txtQty, txtToken);
}
}


AdditionalInfoGiftProcess() 是一个generate 小 window 出来的 function.
以下是 AdditionalInfoGiftProcess() 的 code :

public void AdditionalInfoGiftProcess(int productID, int giftID, TextBox txtQty, UserControls_TokenControl txtToken)
{
/*
Some logic here
*/

//generate pop up window
divAdditionalInfo.Style["visibility"] = "visible";
    divAdditionalInfo.Style["display"] = "table-cell";
}


小window 是在html 里面code 出来的,它其实是一个division, ID 是 divAdditionalInfo。 在divAdditionalInfo division里面有textbox, 有 “OK" 按钮, 有 “cancel" 按钮, 和一些element (会跟着repeater 里面的资料有所改变。)
以下是div 的 code :

<div 
    id="divAdditionalInfo" 
    class="BlackCover" 
    style="VISIBILITY:hidden; DISPLAY:none;" runat="server">
<!-- 
    html code that generate the pop out window. 
    consist of text box and `OK` button, and "Cancel" button. 
-->
</div>


我所面对的问题是这样的 : 
例如我的 repeater里面有三个 row 是(pr.AdditionalFieldsEnabled == true), 那么我想要它会 pop up 3 次小window 出来,以便让 user 填写不同的资料,然后再按 "OK" 按钮。 
例如 :
1. 第一个 window pop up, 然后 user 填写 名字,然后按 OK 按钮。
2. 过后, 第二个 window pop up, 然后 user 填写所需的资料, 例如 年龄, 然后按 OK 按钮。
3. 以此类推,3个 不同的 window pop up后, 才算是结束。

可是,每次只有最后一个 window pop up出来而已,其他之前的,好像都被最后一个window覆盖了。
也就是说,我只能填写最后一个 pop up window 的资料而已。

求各位大神,帮帮我忙,解决这个问题。 感激不尽啊~
C# HTML