1

如果脚本 src="http://code.jquery.com/jquery-1.7.1.min.js 在 aspx 页面中启用,则以下代码将不会在 aspx.cs 页面中执行,如果我禁用 jquery 然后代码完美运行。有问题的代码在后面代码的 IsPostback 中:

aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="resolution_finder.aspx.cs" Inherits="client_mobile_tickets_resolution_finder" Debug="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />

    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

    <link rel="apple-touch-icon" href="images/apple-touch-icon.png" />
    <link rel="shortcut icon" type="image/ico" href="favicon.ico">

     <style type="text/css">
        .ui-btn-text {
            font-size: 15px; 
        }
    </style>

    <script type="text/javascript" language="javascript">

        function init_Timer() {
            //-- Log out after 5 minutes
            var timeout = parseInt('<%=timeout %>');
            setTimeout('logOut()', timeout);
        }

        function logOut() {
            document.location = '<%=serverName %>/mobile_support/log_off.aspx?uid=<%=uid %>';
        }

    </script>    

    <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
</head>
<body onload="init_Timer();">
    <form id="frmMain" runat="server">
        <div data-role="page" data-theme="b" id="pg1" name="pg1" >

            <div data-role="header">
                <div class="ui-bar ui-bar-a" style="text-align:center; height:30px; " >
                    <h1 style="white-space: normal">Resolution Finder</h1>
                </div>
            </div><!-- /header -->

            <div data-role="content">
                <label for="ddl">Select an Issue:</label><br />
                    <asp:DropDownList ID="ddlSubject" runat="server" DataSourceID="sdsSubject" 
                        DataTextField="issue" DataValueField="issue" >
                    </asp:DropDownList><br />

                    <asp:SqlDataSource ID="sdsSubject" runat="server" 
                        ConnectionString="<%$ ConnectionStrings:mobile %>" 
                        SelectCommand="get_sl_top_20_issues_p" SelectCommandType="StoredProcedure">
                    </asp:SqlDataSource>

                <asp:Button ID="cmdGo" runat="server" Text="Show Solution(s)" 
                    data-icon="search" theme="a" onclick="cmdGo_Click" />

             </div><!-- /Content -->

             <div data-role="footer" data-position="fixed">
                <div data-role="navbar" style="white-space: normal;" >
                    <ul>
                        <li><a href="<%=serverName %>/mobile_support/home.aspx?uid=<%=uid %>">Home</a></li>
                        <li><a href="active.aspx?uid=<%=uid %>">Active Tickets</a></li>
                        <li><a href="#" onclick="document.location='<%=serverName%>/mobile_support/log_off.aspx?uid=<%=uid %>&logOff=1';">Log Off</a></li>
                    </ul>
                </div>            
            </div><!-- /Footer -->

        </div><!-- /Page -->

   </form>
</body>
</html>

aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

public partial class client_mobile_tickets_resolution_finder : System.Web.UI.Page
{
    public int uid;
    public static DataTable dt;
    public string serverName;
    public string timeout;
    public int rowCount;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            //--ClientScript.RegisterStartupScript(this.GetType(), "hash", "window.location.hash='#pg2';", true);
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "tmp", "<script type='text/javascript'>showResults();</script>", false);
        }
        serverName = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority; // + HttpContext.Current.Request.ApplicationPath;

        //Get uid
        uid = int.Parse(Request.QueryString["uid"]);

        //Open database connection
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["mobile"].ConnectionString);
        try
        {
            conn.Open();

            ////-- Test to be sure db is open
            if (conn.State == ConnectionState.Open)
            {
                //--Get Home screen data
                SqlDataAdapter ad = new SqlDataAdapter("get_mobile_server_info_p", conn);
                DataSet ds = new DataSet();

                ad.Fill(ds, "dsResult");
                dt = ds.Tables[0];
                timeout = dt.Rows[0][2].ToString();
            }
            else
            {
                Response.Write("Error.....  Could not open dataset....");
                Response.End();
            }
        }
        finally
        {
            conn.Close();
            conn.Dispose();
        }
    }

    protected void cmdGo_Click(object sender, EventArgs e)
    {
        //--Get actions for selected issue

        //Open database connection
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["mobile"].ConnectionString);
        try
        {
            conn.Open();

            ////-- Test to be sure db is open
            if (conn.State == ConnectionState.Open)
            {
                //--Get resolutions
                SqlDataAdapter ad = new SqlDataAdapter("get_sl_actions_for_issue_p '" + ddlSubject.SelectedValue + "'", conn);
                DataSet ds = new DataSet();

                ad.Fill(ds, "dsResult");
                dt = ds.Tables[0];

                rowCount = dt.Rows.Count;

                //-- Populate the results
                DataTable newsDataTable = new DataTable();

                // add some columns to our datatable
                newsDataTable.Columns.Add("href_li");
                newsDataTable.Columns.Add("DisplayText");

                for (int i = 1; i < dt.Rows.Count; i++)
                {
                    DataRow newsDataRow = newsDataTable.NewRow();
                    newsDataRow["href_li"] = i;
                    newsDataRow["DisplayText"] = dt.Rows[i][0].ToString();
                    newsDataTable.Rows.Add(newsDataRow);
                }
                menu_ul_1.DataSource = newsDataTable;
                menu_ul_1.DataBind();

                //--Navigate to the 2nd page
                //--this.ClientScript.RegisterStartupScript(this.GetType(),"navigate", "window.location.hash='#pg2';",true);
                //--Response.RedirectPermanent("resolution_finder.aspx?uid=" + uid + "#pg2");
            }
            else
            {
                Response.Write("Error.....  Could not open dataset....");
                Response.End();
            }
        }
        finally
        {
            conn.Close();
            conn.Dispose();
        }
    }
}
4

0 回答 0