Jquery选项卡+ aspx gridview

时间:2012-09-03 13:28:42

标签: jquery asp.net jquery-ui

我正在尝试在aspx中使用jquery ui主题(制表符)。     $(function(){             $( '#标签')选项卡()。         });

<form id="form1" runat="server">    
<div id="tabs">
    <ul>
        <li><a href="#tabs-1">tab 1</a></li>
        <li><a href="#tabs-2">tab s2</a></li>
        <li><a href="#tabs-3">tab 3</a></li>
    </ul>
    <div id="tabs-1">
        tab-1
    </div>
    <div id="tabs-2">
        tab-2
    </div>
    <div id="tabs-3">
        Gridview is here
    <asp:Button ID="Button2" runat="server" Height="31px" Text="Button" 
             onclick="Button2_Click" />
    </div>
    </div>
    </form>

现在我调用一个函数button2_click在Gridview上做一些操作,但是我收到了错误 必须将带有'GridView'类型的控件'GridView1'放在带有runat = server

的表单标签内
protected void Button2_Click(object sender, EventArgs e)
    {
        ExportToExcel(GridView1, "HElloWorld");
    }
    private void ExportToExcel(GridView gv, string filename)
    {
        Response.Clear();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", "attachment;filename=" + filename + ".xls");

        Response.Charset = "";

        Response.ContentType = "application/vnd.ms-excel";

        StringWriter sw = new StringWriter();

        HtmlTextWriter hw = new HtmlTextWriter(sw);


        gv.RenderControl(hw);



        string style = @"<style> .textmode { mso-number-format:\@; } </style>";

        Response.Write(style);
        //Response.Write(GetMessage());
        Response.Output.Write(sw.ToString());
        // Response.Write(GetFooter());
        Response.Flush();

        Response.End();

    }

错误来自gv.RenderControl(hw);

1 个答案:

答案 0 :(得分:1)

那是因为你缺少一个div结束标记。将</div>放在</form>之前,它应该有效。

谷歌搜索得到了我,只需覆盖方法Page.VerifyRenderingInServerForm方法,如下所示:

public override void VerifyRenderingInServerForm(Control control) { return; }

n就是这样。你将免于那个错误......