0

我是一个在文本区域中创建注释的网页,在第一次页面加载时一切正常。这意味着它会进行回发并写入数据库。现在,在不重新加载页面的情况下,再次尝试如果我更改下拉值并尝试写入数据库,它不会根据我的代码写入重复条目,这很好,我将清除在文本区域中创建的注释(在更新面板中)但是如果我连续更改下拉值,则不会触发在文本区域中实际创建注释的 java 脚本,而只是文本区域为空白。任何帮助表示赞赏。

   <asp:UpdatePanel> 
         <asp:TextBox ID="txtGenVVOE" name= "txtGenVVOE"  TextMode="MultiLine"
                                                runat="server"  style="font-size:  11px" rows="4" cols="44" Width="324px"></asp:TextBox></td></tr>
         <tr>  <td valign="top" align="center" width="50%"> 
  <asp:Button ID="btnCopy"
    class="btn"  runat="server" onmouseover="this.className='btn btnhov'"
                                onmouseout="this.className='btn'" style="background: silvergradient"   Text="COPY"
     OnClientClick="ClipBoard();return false;"
           ToolTip="Copy Text to ClipBoard"  />      /td></tr> <end update Panel>

我有一个 .js 脚本来创建名为 validate() 的注释,它在创建注释之前验证字段

function validate() {

create_note() // 根据表单上的所有字段创建注释。}

因此,正如我所提到的,此函数验证在 button_click OnClientClick 事件上,并且在单击按钮而不重新加载页面时不会被调用。我需要一些帮助来理解为什么脚本在加载时只被调用一次,而不是在对更新面板进行回发后的后续时间。提前致谢。

4

1 回答 1

0

您将需要使用 ClientScript.RegisterStartUpScript ( http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx )在后面的代码中重新注册脚本

在导致回发的代码中,您需要执行以下操作:

Dim script as string = "<script type=""text/javascript"">validate();</script>"
ClientScript.RegisterStartupScript(me,me.gettype(),"NameYourScript",script,false)

如果 RegisterStartupScript 没有命中,请尝试 RegisterClientScriptBlock ( http://msdn.microsoft.com/en-us/library/btf44dc9.aspx )

我不记得在更新面板时哪一个给我带来了麻烦。

于 2013-06-18T05:52:43.437 回答