0

Visual Studio から実行して自分のマシンにインストールすると、問題なく動作するページがあります。ただし、サーバーにインストールすると、ページは最初は正常に読み込まれますが、ボタンをクリックすると、「URL が見つかりませんでした」というエラーが返されます。

ドロップダウンリストのデータバインディングまで問題を追跡しました。削除すると、ページはサーバー上で正常に動作します。

サーバーまたは私のコードで何を見るべきかについての提案は大歓迎です。

私のaspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="SearchLandmarks.aspx.cs" Inherits="TripRequestPortal.SearchLandmarks" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <div>
        <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManagerSearchLandmarks" runat="server" />
        <asp:Label ID="lblCustomerNumber" runat="server" Visible="false" />
    </div>

    <div>
        <asp:CheckBox ID="chkBoxDateFrom" runat="server" />
        <asp:Label ID="lblDateFrom" runat="server" Text="Date From: " />
        <asp:TextBox ID="txtDateFrom" runat="server" />
        <asp:Image ID="imageDateFrom" runat="server" ImageUrl="~/Images/calendar_icon.jpg" />
        <ajaxToolkit:CalendarExtender ID="calendarExtenderDateFrom" runat="server" TargetControlID="txtDateFrom" Format="MM/dd/yyyy" PopupButtonID="imageDateFrom" />
        <ajaxToolkit:MaskedEditExtender ID="MaskedEditExtenderDateFrom" runat="server" TargetControlID="txtDateFrom" Mask="99/99/9999" MaskType="Date"/>
        <ajaxToolkit:MaskedEditValidator ID="MaskedEditValidatorDateFrom" runat="server" ControlToValidate="txtDateFrom" ControlExtender="MaskedEditExtenderDateFrom" IsValidEmpty="true" InvalidValueMessage="Inputted date not valid." EmptyValueMessage="Check box is checked so a date is required." />
    </div>

    <div>
        <asp:CheckBox ID="chkBoxOrigin" runat="server" />
        <asp:Label ID="lblOrigin" runat="server" Text="Label" />
        <asp:DropDownList ID="listOrigins" runat="server" DataSourceID="SqlDataSource1" 
            DataTextField="LANDMARKNAME" DataValueField="PRIKEY"  />
    </div>

    <div>
        <asp:Button ID="btnSearch" runat="server" Text="Search" 
            onclick="btnSearch_Click" />
    </div>

    <div>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionStringTripStatus %>" 
            FilterExpression="customer='{0}'" 
            ProviderName="<%$ ConnectionStrings:ConnectionStringTripStatus.ProviderName %>" 
            SelectCommand="SELECT PRIKEY, CUSTOMER, CONCAT(CONCAT(LANDMARKNAME, ' | '), SITEID) AS LANDMARKNAME FROM LANDMARKS ORDER BY LANDMARKNAME">
            <FilterParameters>
                <asp:ControlParameter ControlID="lblCustomerNumber" DefaultValue="-1" 
                    Name="newparameter" PropertyName="Text" />
            </FilterParameters>
        </asp:SqlDataSource>
    </div>

</asp:Content>

私のコードビハインド

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace TripRequestPortal
{
    public partial class SearchLandmarks : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lblCustomerNumber.Text = "5";
        }

        protected void btnSearch_Click(object sender, EventArgs e)
        {
            Response.Redirect("TripEntry.aspx");
        }
    }
}

ありがとう

4

2 に答える 2

0

ドロップダウンリストのデータバインディングまで問題を追跡しています。削除すると、サーバー上でページが正常に機能します。

だから問題はないはずですResponse.Redirect("TripEntry.aspx");

試す

if (!Page.IsPostBack)
{
    lblCustomerNumber.Text = "5";
}
于 2012-07-25T16:32:18.557 に答える
0

私たちのベンダーは、それがホスト ヘッダーに関係していることを発見しました。IIS で自分のサイトを作成し、そこにアプリケーションをインストールしたところ、問題なく動作しました。彼は私が作成したサイトのテストを開始し、ホスト名を削除すると正常に機能することを発見しました。彼が作成したサイトにホスト名を追加すると、機能しなくなりました。

現在、ファイアウォールと DNS を調査中です。

さらに拡大するには…

ファイアウォールの問題でした。サイズ制限が小さすぎました。これらが調整されると、機能し始めました。

于 2012-07-26T12:51:45.267 に答える