jquery函数不是从c#代码调用的

时间:2017-04-19 13:20:25

标签: javascript c# jquery

我有这个jquery函数:

<script>
    function tabSelected() {
       //alert('tab.');
       $('.nav-tabs li:eq(3) a').tab('show');
    };
</script>

从后面的代码中调用此函数:

ScriptManager.RegisterClientScriptBlock(this, typeof(string), "script", "tabSelected()", true);

或:

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "tabSelected()", true);

没有一个有用。应该在c#方法“ValidateData”中调用jquery:

private bool ValidateData()
    {
        try
        {
           if (ddlStatusOp.SelectedIndex <= 0)
            {
                ScriptManager.RegisterClientScriptBlock(this, typeof(string), "script", "tabSelected()", true);

                throw new Exception("'Status' must be selected.");
            }

            return true;
        }
        catch (Exception ex)
        {
             throw ex;
        }

我在做错了什么?

2 个答案:

答案 0 :(得分:0)

抱歉,这是代码:

<ul class="nav nav-tabs" id="tabContainer">
<li class="active"><a data-toggle="tab" href="#tabMenu1">Menu 1</a></li>
<li><a data-toggle="tab" href="#tabMenu2">Menu 2</a></li>
<li><a data-toggle="tab" href="#tabMenu3">Menu 3</a></li>
<li><a data-toggle="tab" href="#tabMenu4">Menu 4</a></li>
<li><a data-toggle="tab" href="#tabMenu5">Menu 5</a></li>
<li><a data-toggle="tab" href="#tabMenu6">Menu 6</a></li>

<div class="tab-content">
<div id="tabMenu1" class="tab-pane fade in active">
    <h2>Menu 1</h2>
</div>
<div id="tabMenu2" class="tab-pane fade">
    <h2>Menu 2</h2>
</div>
<div id="tabMenu3" class="tab-pane fade">
    <h2>Menu 3</h2>
</div>
<div id="tabMenu4" class="tab-pane fade">
    <h2>Menu 4</h2>
</div>
<div id="tabMenu5" class="tab-pane fade">
    <h2>Menu 5</h2>
</div>
<div id="tabMenu6" class="tab-pane fade">
    <h2>Menu 6</h2>
</div>

是的,警报根本没有开火,但我设法解决了函数调用,问题出在“;” (“分号”)在“tabSelected()”之后的c#行中;以下是正确的:

ScriptManager.RegisterClientScriptBlock(this, typeof(string), "script", "tabSelected();", true);

现在警报正在运行,但是使用jquery选择选项卡不起作用:

$('.nav-tabs li:eq(3) a').tab('show');

感谢任何帮助。

答案 1 :(得分:0)

首先检查你的HTML head 部分中是否有 jQuery 引用:

<script src="https://code.jquery.com/jquery-1.12.4.min.js" ></script>

之后将脚本更改为:

<script>
    function tabSelected() {
       $(document).ready(function(){
           $('.nav-tabs li:eq(3) a').tab('show');
       });
    };
</script>