我的带有jQuery和CSS的MVC应用程序可以与本地主机一起工作,并按照预期给出正确的输出,但是当我部署到IIS时,它不能加载jQuery和CSS,即使有相同的code.....any帮助也会非常感谢……
HomeController.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Mvc_BrowserWindow.Models;
namespace Mvc_BrowserWindow.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
//
// GET: /Home/Details/5
public ActionResult Details(int id)
{
SampleDbContext db = new SampleDbContext();
Employee employee = db.Employees.Single(x => x.Id == id);
return View(employee);
}
//
// GET: /Home/Create
public ActionResult Create()
{
return View();
}
//
// POST: /Home/Create
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
//
// GET: /Home/Edit/5
public ActionResult Edit(int id)
{
SampleDbContext db = new SampleDbContext();
Employee employee=db.Employees.Single(x => x.Id == id);
return View(employee);
}
//
// POST: /Home/Edit/5
[HttpPost]
public ActionResult Edit(Employee employee)
{
if (ModelState.IsValid)
{
SampleDbContext db = new SampleDbContext();
Employee employeeFromDb = db.Employees.Single(x => x.Id == employee.Id);
employeeFromDb.FullName = employee.FullName;
employeeFromDb.Gender = employee.Gender;
employeeFromDb.Age = employee.Age;
employeeFromDb.HireDate = employee.HireDate;
employeeFromDb.Salary = employee.Salary;
employeeFromDb.PersonalWebSite = employee.PersonalWebSite;
db.ObjectStateManager.ChangeObjectState(employeeFromDb, System.Data.EntityState.Modified);
db.SaveChanges();
return RedirectToAction("Details", new { id = employee.Id });
}
return View(employee);
}
//
// GET: /Home/Delete/5
public ActionResult Delete(int id)
{
return View();
}
//
// POST: /Home/Delete/5
[HttpPost]
public ActionResult Delete(int id, FormCollection collection)
{
try
{
// TODO: Add delete logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
}
Edit.csHtml
@model Mvc_BrowserWindow.Models.Employee
@{
ViewBag.Title = "Edit";
}
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<link href="../../Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.20.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("input:text.date").datepicker(
{
dateFormat: "dd/mm/yy"
});
});
</script>
@using (@Html.BeginForm())
{
@Html.EditorForModel()
<br />
<input type="submit" value="Save" />
}
DateTime.csHtml:
@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToString("dd/MM/yyyy") : string.Empty), new { @class = "date" })发布于 2016-05-26 06:56:38
您的问题可能是由于使用链接和脚本包含的相对路径造成的。你应该使用绝对路径,例如(假设Content和Scripts文件夹在网站的根文件夹中)。
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="/Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.20.min.js" type="text/javascript"></script>..意味着相对于当前路径,所以如果您的MVC的/数量不同,那么相对路径将不起作用。从/开始你的路径使得它们对于网站的根来说是绝对的。
https://stackoverflow.com/questions/37438444
复制相似问题