Multiview 无法在 IIS 服务器中运行,但在我的本地服务器 (XAMPP) 中运行良好

问题描述

我正在我的页面中进行多视图。它在我的本地运行良好,但是一旦我发布到服务器,它就无法运行。我不知道为什么会这样(注意:部署时我没有错误)

前端:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Add-AssetHardware.aspx.cs" Inherits="InventorySystem_IT.AssetHardware_Add" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">

<title>Add Data Asset</title>
<!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
<style type="text/css">
 
    /*for tabs*/
    .Initial
    {
      display: block;
      padding: 4px 18px 4px 18px;
      float: left;
      background: url("../Images/InitialImage.png") no-repeat right top;
      color: Black;
      font-weight: initial;
    }

   .Initial:hover
    {
      color: White;
      background: url("../Images/SelectedButton.png") no-repeat right top;
    }
    .Clicked
    {
      float: left;
      display: normal;
      background: url("../Images/SelectedButton.png") no-repeat right top;
      padding: 4px 18px 4px 18px;
      color: Black;
      font-weight: bold;
      color: #009999;
    }

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
    $(function() {
        $("li").click(function(e) {
          e.preventDefault();
          $("li").removeClass("selected");
          $(this).addClass("selected");
        });
    });
</script>

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="Body" runat="server">
       
   <div class="container">

     <div class="card o-hidden border-0 shadow-lg my-5">
       <div class="card-body p-0">

        <!-- Nested Row within Card Body -->
        <div class="row">
        <div class="col-lg-50">
        <div class="p-5">
<br />
    <ul class="tabrow">
    <li><asp:Button Text="LAPTOP" BorderStyle="None" ID="Tab1" CssClass="Initial" runat="server"
    OnClick="Tab1_Click" /></li>
    <li><asp:Button Text="DESKTOP" BorderStyle="None" ID="Tab2" CssClass="Initial" runat="server"

    OnClick="Tab2_Click" /></li>
    </ul>
 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

   <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>

      <asp:MultiView ID="MainView" runat="server">

        <asp:View ID="View1" runat="server">

            <br />
            
            <div class="row">
                <div class="column">

                <div class="col-sm-12 mb-6 mb-sm-0">
 Registered Holder:
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:DropDownList ID="DropDownList1" runat="server" class="form-control form-control-user"  Width="489px">
                    <asp:ListItem>
                             <%--see code--%> 
                        </asp:ListItem>
                 </asp:DropDownList>
                  <br />
                </div>

                <div class="col-sm-12 mb-6 mb-sm-0">
                  Laptop No.: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt1" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>    

                <div class="col-sm-12 mb-6 mb-sm-0">
                  Laptop Model: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt2" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>
               
                <div class="col-sm-12 mb-6 mb-sm-0">
                  Operating System: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt3" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>
                
                <div class="col-sm-12 mb-6 mb-sm-0">
                  Manufacturer: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt4" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                <div class="col-sm-12 mb-6 mb-sm-0">
                  Serial No. (Laptop): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt5" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>  
              
                <div class="col-sm-12 mb-6 mb-sm-0">
                  Serial No. (Laptop Charger): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt6" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>  

            </div>

                <div class="column">

                <div class="col-sm-12 mb-6 mb-sm-0">
                  Purchase Cost (RM): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt7" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                  <div class="col-sm-12 mb-6 mb-sm-0">
                  Vendor: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt10" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
            </div>

            <div class="col-sm-12 mb-6 mb-sm-0">
                  Description: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="txt8" TextMode="multiline" Columns="50" Rows="5" runat="server" class="form-control form-control-user" Width="489px" Height ="294px">
                    </asp:TextBox>
                  <br />
            </div>
                 
                 <div class="col-sm-12 mb-6 mb-sm-0">
                 Attachment: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:FileUpload ID="imgUploadLaptop" runat="server" class="align-bottom" Width="489px" Height ="40px">
                </asp:FileUpload>
                <br /><br />
            </div>

                    </div>
                </div>

            <br />
                 <asp:Button ID="btn1" runat="server" Text="SAVE" OnClick="btn1_Click" />      
                 <br />

        </asp:View>

<asp:View ID="View2" runat="server">
         
            <div class="row">
                <div class="column">

                    <br />
                <div class="col-sm-12 mb-6 mb-sm-0">
                Registered Holder:
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:DropDownList ID="DropDownList2" runat="server" class="form-control form-control-user"  Width="489px">
                    <asp:ListItem>
                             <%--see code--%> 
                        </asp:ListItem>
                 </asp:DropDownList>
                  <br />
              </div>

                <div class="col-sm-12 mb-6 mb-sm-0">
                  Desktop No.: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox1" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>    

                    <div class="col-sm-12 mb-6 mb-sm-0">
                  Model (CPU).: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox2" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                    <div class="col-sm-12 mb-6 mb-sm-0">
                   Model (Monitor): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox3" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>


                    <div class="col-sm-12 mb-6 mb-sm-0">
                   Operating System: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox4" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                     <div class="col-sm-12 mb-6 mb-sm-0">
                   Manufacturer (CPU): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox5" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                    <div class="col-sm-12 mb-6 mb-sm-0">
                   Manufacturer (Monitor): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox6" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                     <div class="col-sm-12 mb-6 mb-sm-0">
                    Serial No. (CPU): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox7" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                    </div>
                    <div class="column">
                    <br />

                        <div class="col-sm-12 mb-6 mb-sm-0">
                    Serial No. (Monitor): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox8" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                        <div class="col-sm-12 mb-6 mb-sm-0">
                    Purchase Cost (RM): 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox9" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

               <div class="col-sm-12 mb-6 mb-sm-0">
                   Vendor: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox10" runat="server" class="form-control form-control-user" Width="489px">
                    </asp:TextBox>
                  <br />
                </div>

                     <div class="col-sm-12 mb-6 mb-sm-0">
                  Description: 
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:TextBox ID="TextBox11" TextMode="multiline" Columns="50" Rows="5" runat="server" class="form-control form-control-user" Width="489px" Height ="294px">
                    </asp:TextBox>
                  <br />
            </div>
                 
                 <div class="col-sm-12 mb-6 mb-sm-0">
                 Attachment:
                <%--<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name">--%>
                <asp:FileUpload ID="imgUploadDesktop" runat="server" class="align-bottom" Width="489px" Height ="40px">
                </asp:FileUpload>
                <br /><br />
            </div>

                    </div>
                </div>

            <asp:Button ID="btn2" runat="server" Text="SAVE" OnClick="btn2" />

        </asp:View>
      </asp:MultiView>

        </ContentTemplate>

    </asp:UpdatePanel>
         </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  

   <!-- Bootstrap core JavaScript-->
   <script src="vendor/jquery/jquery.min.js"></script>
   <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

   <!-- Core plugin JavaScript-->
   <script src="vendor/jquery-easing/jquery.easing.min.js"></script>

   <!-- Custom scripts for all pages-->
   <script src="js/sb-admin-2.min.js"></script>

  </asp:Content>

后端(我所做的一些与多视图相关的代码 - 使用完整代码进行了编辑)。澄清我是为库存系统这样做的:

public partial class AssetHardware_Add : System.Web.UI.Page
{
     MySqlConnection con = new MySqlConnection(@"Data Source = localhost; port=3306; Initial Catalog = dbname; User Id = ''; password = ''");
     MySqlCommand cmd = new MySqlCommand();
     protected void Page_Load(object sender,EventArgs e)
     {
            if (Session["UserName"] == null)
            {
                Response.Redirect("LoginPage_Admin.aspx");
            }

            if (!IsPostBack)
            {
                Tab1.CssClass = "Clicked";
                MainView.ActiveViewIndex = 0;

                BindNameListLaptop();     // REQUESTOR list
                BindNameListDesktop();     // REQUESTOR list
              
            }
        }

     protected void Tab1_Click(object sender,EventArgs e)
     {
        Tab1.CssClass = "Clicked";
        Tab2.CssClass = "Initial";
        MainView.ActiveViewIndex = 0;
    }

    protected void Tab2_Click(object sender,EventArgs e)
    {
        Tab1.CssClass = "Initial";
        Tab2.CssClass = "Clicked";
        MainView.ActiveViewIndex = 1;
    }

    // to allow connection to my database
    public void openConnection()
    {
        if (con.State == ConnectionState.Closed)
        {
            con.Open();
        }
    }

    public void closeConnection()
    {
        if (con.State == ConnectionState.Open)
        {
            con.Close();
        }
    }

    // when user click on TAB 1,a "laptop" option will come out.
    //this is the list of the laptop's holder (get from my database)
    private void BindNameListLaptop()
    {
        try
        {
            string selectQuery = "SELECT ast_ID,ast_holder FROM ast_details";
            con.Open();


            using (MySqlCommand cmd = new MySqlCommand(selectQuery,con))
            {
                cmd.CommandType = CommandType.Text;
                cmd.Connection = con;

                //con.Open();

                DropDownList1.DataSource = cmd.ExecuteReader();
                DropDownList1.DataTextField = "ast_holder";
                DropDownList1.DataValueField = "ast_ID";
                DropDownList1.DataBind();

                //con.Close();
            }

            MySqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                DropDownList1.Items.Add(reader.GetString("ast_holder"));    
            }
        }

        catch (Exception ex)
        {
            Response.Write(@"<script language='javascript'>alert('Exception: " + ex + " .');</script>");
        }

        finally
        {
            con.Close();
        }
    }

    // when the laptop's holder already fill up the form (in TAB 1),// they will save the data by pressing on this button:
    protected void btn1(object sender,EventArgs e)
    {
        // UPLOAD IMAGE
        string imagetype = imgUploadLaptop.PostedFile.ContentType;
        Stream sm = imgUploadLaptop.PostedFile.InputStream;
        BinaryReader br = new BinaryReader(sm);
        byte[] bytes = br.ReadBytes((Int32)sm.Length);

        // INSERT DATA
        String query = string.Format("INSERT INTO ast_laptop(ast_ID,ast_name,ast_model,ast_OS,ast_manufacturer,ast_serialnumlaptop,ast_serialnumcharger,ast_purchasecost,ast_vendor,ast_img,ast_imgpath,ass_desc,ast_holder) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}')",DropDownList1.Text,txt1.Text,txt2.Text,txt3.Text,txt4.Text,txt5.Text,txt6.Text,txt7.Text,txt10.Text,"@ast_img","@ast_imgpath",txt8.Text,DropDownList1.SelectedItem);

        MySqlCommand cmd = new MySqlCommand(query,con);

        con.Open();

        // to save image in phpmyadmin
        // upload image
        cmd.Parameters.AddWithValue("@ast_img",imagetype);
        cmd.Parameters.AddWithValue("@ast_imgpath",bytes);

        // to save image in folder server
        string fileName = Path.GetFileName(imgUploadLaptop.PostedFile.FileName);
        string folder = Server.MapPath("~/Uploaded_Files/AssetLaptop/");
        Directory.CreateDirectory(folder);
        imgUploadLaptop.PostedFile.SaveAs(Path.Combine(folder,fileName));

        cmd.ExecuteNonQuery();

        con.Close();

        Response.Write("<script>alert('Data has been saved.')</script>");

        //con
        DropDownList1.SelectedIndex = -1;
        txt1.Text = "";
        txt2.Text = "";
        txt3.Text = "";
        txt4.Text = "";
        txt5.Text = "";
        txt6.Text = "";
        txt7.Text = "";
        txt10.Text = "";
        txt8.Text = "";
    }

    // next,this line should be for the TAB 2 option (for "desktop" option).
    // The code are similar as above.
    // that's all my completed code

Web.config:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application,please visit
  https://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>

  <connectionStrings>
    <add name="MyConnection" connectionString="server=localhost;database=inventorysystem_it;username='';password=''" />
  </connectionStrings>
<system.web>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.7.2" />
    <httpRuntime targetFramework="4.7.2" />

<pages>
      <namespaces>
        <add namespace="System.Web.Optimization" />
      </namespaces>
      <controls>
        <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
        <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
      </controls>
    </pages>
  </system.web>

<system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,Microsoft.CodeDom.Providers.DotNetCompilerPlatform,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider,PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>

 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="UrlRoutingModule" />
    </modules>
    <httpErrors errorMode="Detailed" />
  </system.webServer>

<runtime>

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  
      <dependentAssembly>
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.10.9.0" newVersion="6.10.9.0" />
      </dependentAssembly>

  
      <dependentAssembly>
        <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.2.1" newVersion="4.0.2.1" />
      </dependentAssembly>
  
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
      </dependentAssembly>

      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
  
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
         <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
  
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
      </dependentAssembly>
  
    </assemblyBinding>

  </runtime>
</configuration>

nothing happen when i click on the tab

控制台错误: (i) Error (ii) Error - continue from previous

解决方法

首先,控制台中的错误信息可能是CORS导致的,您可以尝试在您的web.config中添加以下代码:

<system.webServer>
  <httpProtocol>
    <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
     </customHeaders>
  </httpProtocol>
</system.webServer>

我在您的错误消息中找到了 Chart.min.js,但在您的代码中没有找到。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...