ASP.NET按钮OnClientClick

时间:2013-01-29 00:14:06

标签: c# asp.net

我有疑问,任何帮助将不胜感激。我希望我能清楚地解释这一点,但如果我不只是让我知道,我会待一段时间。这是用C#编写的,我有一个按钮,在“OnClientClick”部分调用一个名为“JavaScript()”的javascript函数,在“OnClick”部分我有一个“if语句”,其中第一部分类似于OnClientClick函数,第二部分表示与OnClientClick无关的不同代码。

DefaultPage.aspx:

<asp:Button ID="Button1" runat="server" Text="Button" 
 OnClick="Button1_OnClick" 
 OnClientClick="JavaScript()"  />

DefaultPage.aspx.cs:

protected void Button1_OnClick(object sender, EventArgs e)
   {
  String a = getValueofA();

  If (a == "1")
  {
            //OnClientClick code goes here
  }
  else If (a == "2")
  {
     //No OnClientClick code goes here
  }
 }

这个javascript函数来自我在这个“DefaultPage”上加载的不同Web控件。这对我很有用,直到我在Button1_OnClick中添加了“if语句”。最初我刚刚获得了“if语句”的第一部分,现在我需要添加它的第二部分。我怎样才能做到这一点。我尝试了button1.OnClientClick,但它只适用于Page_Load。我需要首先确定“a”的值然后继续。对不起,如果我不清楚,但我可以回答任何问题。非常感谢。我的目标是从我的asp.net按钮中删除“OnClientClick = JavaScript”,并在if语句中调用该函数。

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解你的问题,似乎你想从后面的代码中执行javascript代码。如何在后面的代码中使用ScriptManager并从那里执行javascript?如下所示

    // write your onclientclick code here
    ScriptManager.RegisterStartupScript(this, typeof(string), "JAVA_SCRIPT", "your javascript() function code here", true);

答案 1 :(得分:0)

你得到什么错误?如果没有在C#中大写。

http://msdn.microsoft.com/en-us/library/5011f09h(v=vs.100).aspx

编辑:

根据评论,我认为你最好完全转向客户端。

<script type="text/javascript">
function NewFunction(){
    var a = getValueOfA();
    if (a === "1")
    {
        JavaScript();
    }
    else if ( a==="2" )
    {
        //other code
    }
}
</script>

<asp:Button ID="Button1" runat="server" Text="Button" 
 OnClientClick="NewFunction()"  />
相关问题