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=\"Web\" /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.