我有疑问,任何帮助将不胜感激。我希望我能清楚地解释这一点,但如果我不只是让我知道,我会待一段时间。这是用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语句中调用该函数。
答案 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()" />