2012-09-27 41 views
1

我在一个事件中,在这个事件中我想要一个javascript警报向用户显示一条消息。但我似乎无法得到这个工作。如何在C#事件中执行javascript

protected void dgvStaff_Deleting(object sender, Infragistics.Web.UI.GridControls.RowDeletingEventArgs e) 
     { 
      // Code stub 
      object test = e.Row.Items[0].Text; 
      //ScriptManager.RegisterStartupScript(this, this.GetType(), "alertbox", "ShowPopup('Select a row to rate');", true); 
      ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertbox", "ShowPopup('Select a row to rate');", true); 
      if (objGatewayFunctions.CheckStaffAssignment(e.Row.Items[0].Text.ToString(), ConfigurationManager.AppSettings.Get("Connection").ToString()) == true) 
      { 

      } 
     } 

任何想法我在做什么错在这里?

+8

你一定要明白,所有的C#代码在服务器上运行,以及JavaScript客户端只*后*服务器代码已经完成完全执行,并产生推得到的运行HTML代码到客户端的浏览器?你不能在asp.net – mellamokb

回答

6

你不能这么做 - C#和JavaScript运行在不同的计算机上,你不能在函数中间跳转它们。

通常你会延迟错误/警告,直到页面呈现。为了改善用户体验,还要在发回服务器之前尝试进行错误检查(除了服务器端检查)之外。

+0

的方法中间在服务器代码和客户端之间进行实时交互。所以如果出现错误。我唯一的选择是将错误信息暴露给标签吗?有没有办法让它暴露给JavaScript的消息?基本上,该方法检查数据网格中的用户是否可以删除,如果他们不能显示不能删除的原因。我可以在标签中轻松完成,但想要一个弹出式选项。 –

0

您必须等待服务器执行完成,然后才能看到客户端执行的实际情况。

0

使用此

Response.Write("<script type='text/javascript'>alert('Hello World');</script>"); 
+0

这和其他两个一样,没有错误,但没有弹出。 =( –

相关问题