-4

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

默认页面.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 语句中调用该函数。

4

2 回答 2

0

我不确定我是否理解您的问题,您似乎想从后面的代码中执行 javascript 代码。在后面的代码中使用 ScriptManager 并从那里执行 javascript 怎么样?像下面

    // write your onclientclick code here
    ScriptManager.RegisterStartupScript(this, typeof(string), "JAVA_SCRIPT", "your javascript() function code here", true);
于 2013-01-29T00:21:37.650 回答
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()"  />
于 2013-01-29T00:37:27.830 回答