在我的 _Layout.cshtml 页面的头部部分,我有这行代码...
<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script>
我检查了脚本目录,jquery-ui 就在那里。我是 MVC 的新手,尤其是 MVC4。我曾与 3 合作过,但我不相信与我记得或至少使用过的 Bundles 有任何关系。据我所知,这将所有脚本捆绑成一种紧密键入的文本格式,去掉了空格和诸如此类的东西。所以我假设 jquery-ui 将被添加到每个页面,因为它是一个共享页面,就像 Web 窗体中的母版页。
现在在我的 Index.cshtml 文件中,它使用我在顶部的共享布局页面。
$(function () {
$('#DateOfBirth').datepicker();
});
我也在我的 Index.cshtml 文件中添加了带有此代码的部分 View 。
@Html.Partial("_SignUp", Model)
部分 View 包含我要将其添加到的字段。不幸的是,它没有将日期选择器添加到 type=text 的输入字段,是的,该字段的 id="#DateOfBirth"。怎么回事?
编辑:我确实遇到了这个错误——“Uncaught TypeError: Object [object Object] has no method 'datepicker'
最佳答案
我看不出您的代码有任何问题,而且我无法重现该问题(ASP.NET MVC 4 Beta)。以下对我来说很好用:
- 使用 Internet 模板创建一个新的 ASP.NET MVC 4 项目
添加 View 模型:
public class MyViewModel { public DateTime DateOfBirth { get; set; } }
家庭 Controller :
public class HomeController : Controller { public ActionResult Index() { return View(new MyViewModel { DateOfBirth = DateTime.Now }); } }
Index.cshtml
:@model MyViewModel <script type="text/javascript"> $(function () { $('#DateOfBirth').datepicker(); }); </script> @Html.Partial("_SignUp", Model)
_SignUp.cshtml
@model MyViewModel @Html.EditorFor(x => x.DateOfBirth)
结果:
所以我想现在问题变成了,你做了哪些不同的事情?
关于c# - MVC4 _Layout.cshtml 脚本包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694325/