在后面的代码清除updatepanel文本框后没有调用Javascript

时间:2013-06-18 03:07:28

标签: javascript asp.net updatepanel postback

我是一个在文本区域中创建注释的网页,在第一次页面加载时一切正常。意思是它去做并回发并写入数据库。现在,在没有重新加载页面的情况下,在第二次尝试时如果我更改下拉值并尝试写入数据库,它将不会根据我的代码写一个重复的条目,这很好,我将清除在文本区域中创建的注释(在更新面板中)但是如果我更改下拉值,则连续下一次,在文本区域中实际创建注释的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事件上,并且在没有重新加载页面时单击按钮时不会调用。我需要一些帮助来理解为什么脚本只在加载时被调用一次,而不是在对更新面板进行回发后的后续时间。提前谢谢。

1 个答案:

答案 0 :(得分: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

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