我一直试图弄清楚RenderAction和Action之间的区别.我不知道我是否如此关注这一点上的差异,以及为什么我无法让RenderAction工作.据我所知,我正在传递正确的参数.我正在使用的重载似乎是相同的:
@Html.RenderAction(Action, Controller, Route)
@Html.Action("Breadcrumb", "Navigation", new {SeoUrl = Model.CarlineBucket.SEOURLName})
@Html.RenderAction("Breadcrumb", "Navigation", new {SeoUrl = Model.CarlineBucket.SEOURLName})
Run Code Online (Sandbox Code Playgroud)
我尝试使用RenderAction时收到编译错误:
CS1502:'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)'的最佳重载方法匹配具有一些无效参数.
任何提示或提示?我是否应该甚至不打扰RenderAction?
我正在将我的观点和路由器分成带有require的单独文件.然后我有一个main.js文件来实例化路由器,并且还渲染我的默认视图.
我的路由器有视图('View /:id')和edit('Edit /:id')作为路由.在main.js中,当我实例化路由器时,我可以硬编码router.navigate('View/1',true)并且导航工作正常.在我的视图文件中,当我点击编辑链接时,我想调用router.navigate('View /'+ id,true),但我不知道该怎么做.
我成功调用了Backbone.history.navigate('View /'+ id,true),但我觉得我不应该依赖于全局Backbone对象.
我尝试传递({router:appRouter})到我的视图,所以我可以使用this.options.router.navigate(),但这对我不起作用.
如果你很好奇,我的应用程序中有一堆代码:
路由器:
define(['./View', './Edit'], function (View, Edit) {
return Backbone.Router.extend({
routes: {
'View/:id': 'view',
'Edit/:id': 'edit'
},
view: function (id) {
var model = this.collection.get(id);
var view = new View({ model: model });
view.render();
},
edit: function (id) {
var model = this.collection.get(id);
var edit = new Edit({ model: model });
edit.render();
}
});
});
Run Code Online (Sandbox Code Playgroud)
视图:
define(function () {
return Backbone.View.extend({
template: Handlebars.compile($('#template').html()),
events: {
'click .edit': 'edit'
},
render: …Run Code Online (Sandbox Code Playgroud) 我一直在使用谷歌浏览器来调试我的javascript,但突然之间,我再也无法设置断点了.我单击行号,我之前单击以添加断点,但不会添加断点.有时如果我点击非常快,像疯子一样,我可以看到它试图添加断点,但它不会坚持.
我唯一改变的是添加JSONView.我卸载了,但仍然无法添加断点.
有谁有想法吗?
编辑:我可以在其他页面上放置断点,例如StackOverflow,而不是我正在开发的在localhost上运行的那个.
.net ×1
backbone.js ×1
debugging ×1
html-helper ×1
javascript ×1
json ×1
razor ×1
requirejs ×1