简体   繁体   中英

Multiview is not working in IIS server, but working well in my local server (XAMPP)

I am doing multiview in my page. It works well in my local but once I published to server, it cannot works. I have no idea why it happens (NOTES: I've got no errors when deployed)

Front end:

<%@ 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>

Back end (some of the code that i did related to the multiview - edited with complete code). To clarify that i did this for inventory system:

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, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, 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

Error on the console: (i) Error (ii) Error - continue from previous

First of all, the error message in the console may be caused by CORS, you can try to add the following code to your web.config:

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

And I found Chart.min.js in your error message, but I didn't find it in your code.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM